62,634
社区成员




while ((tempString = reader.readLine()) != null) {
// 显示行号
// System.out.println("line " + line + ": " + tempString);
// tempString = reader.readLine(); 这里你又读了1行,注释掉就行了
tempStringComma = tempString.split(",");
tempStringSpace = tempStringComma[1].split(" ");
StringTokenizer st = new StringTokenizer(tempString,", ");
while(st.hasMoreTokens() ){
System.out.println(st.nextToken());
}
line++;
}
static void readTest(){
double [][] x;
double [] y;
int lag=8;
File file = new File("c:/data.txt");
int row=getFileLineCounts(file);
x=new double[row][];
y=new double[row];
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
int lineunm = 1;
String line = null;
String [] values = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
values = line.split(" ");
for(String one:values){
System.out.println(one);
}
lineunm++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
System.out.println("Wrong");
}
}
}
System.out.println("READ END");
}
public static int getFileLineCounts(File file) {
int cnt = 0;
LineNumberReader reader = null;
try {
reader = new LineNumberReader(new FileReader(file));
while (reader.readLine() != null) {}
cnt = reader.getLineNumber();
} catch (Exception ex) {
cnt = -1;
ex.printStackTrace();
} finally {
try {
reader.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
return cnt;
}
System.out.println(Arrays.toString("0.0204724,0 0.0220472 0 0.00314961 0.0283465 0.00629921 0.0015748 0.0220472".split("[\\,\\ ]+")));
另:那个tokenizer也支持使用正则表达式作为分隔符。