我不怎麼喜歡 java,我覺得 C 很多方面比 java 簡單又直接。最近因為在 Android 開發 AP,不得不用 java
來看一個很簡單的 example
我想要把 a.txt 依欄位一行一行讀進去
在 C 我們可以用 fscanf,輕鬆搞定,也很容易看懂。
#include <stdio.h>
FILE *fp;
char a[80],b[80],c[80];
if (fp=fopen("a.txt", "r"))==NULL)
die("cannot open");
while (!feof(fp)) {
fscanf(fp, "%s %s %s", a,b,c);
}
fclose(fp)
在 java 很麻煩
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.util.StringTokenizer;
import java.io.DataInputStream;
try{
FileInputStream fstream = new FileInputStream("a.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine,a,b,c;
while ((strLine = br.readLine()) != null) {
System.out.println (strLine);
StringTokenizer st = new StringTokenizer(strLine);
a=st.nextToken();
b=st.nextToken();
c=st.nextToken();
}
in.close();
} catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}