所以我目前得到這個方法的最後一行空指針。從我在這個問題上讀過的所有內容中,使用while ((lineIn = myReader.readLine()) != null)
應該在文件沒有剩下時停止文件,但似乎沒有這樣做。相反,我最終抓住了NPE。我無法弄清楚爲什麼。任何意見,將不勝感激!我目前通過使用另一個catch (NullPointerException)
聲明爲這個問題提供了創可貼,但我不認爲這是一個適當的解決方案。在EOF空指針異常
BufferedReader myReader;
try {
FileInputStream fileInStream = new FileInputStream(
fileLocation);
InputStreamReader fileInputStreamReader = new InputStreamReader(
fileInStream, "UTF-16");
myReader = new BufferedReader(fileInputStreamReader);
String lineIn = "";
// Read the next line until there aren't any left
while ((lineIn = myReader.readLine()) != null) {
//Do stuff with line
}
System.out.println("done");
// Close the file connections now that the read is done.
fileIn.close();
myReader.close();
} catch (Exception e) {
System.out.println("Error: " + e.getMessage());
e.printStackTrace();
}
在finally塊中關閉reader:'finally {if(fileIn!= null)fileIn.close(); if(myReader!= null)myReader.close(); }' – EpicPandaForce 2014-10-27 15:59:37
你在''用線做東西'裏面做什麼? – 2014-10-27 15:59:47
@Zhuinden關閉'fileInStream'就足夠了。 – m0skit0 2014-10-27 16:00:37