我寫了一些代碼來讀取文本文件並返回一個數組,每行存儲在一個元素中。我不能爲我的生活找出爲什麼這不起作用......任何人都可以快速瀏覽一下嗎? System.out.println(行)的輸出;是空的,所以我猜測讀取線路時出現問題,但我看不出爲什麼。順便說一句,我傳遞給它的文件肯定有一些內容!閱讀Java中的文本文件
public InOutSys(String filename) {
try {
file = new File(filename);
br = new BufferedReader(new FileReader(file));
bw = new BufferedWriter(new FileWriter(file));
} catch (Exception e) {
e.printStackTrace();
}
}
public String[] readFile() {
ArrayList<String> dataList = new ArrayList<String>(); // use ArrayList because it can expand automatically
try {
String line;
// Read in lines of the document until you read a null line
do {
line = br.readLine();
System.out.println(line);
dataList.add(line);
} while (line != null && !line.isEmpty());
br.close();
} catch (Exception e) {
e.printStackTrace();
}
// Convert the ArrayList into an Array
String[] dataArr = new String[dataList.size()];
dataArr = dataList.toArray(dataArr);
// Test
for (String s : dataArr)
System.out.println(s);
return dataArr; // Returns an array containing the separate lines of the
// file
}
你確定你已經有文件了嗎?你是否在正確的位置查找文件(相對於用戶導演)? – 2011-12-31 13:23:26
file/br/bw在哪裏聲明? InOutSys和readFile是公開的,但第二個關閉br。如何避免在封閉的br上調用readFile? – 2011-12-31 13:38:35
文件的位置。 – javaDisciple 2011-12-31 13:40:29