public void populateNotesFromFile()
{
try{
BufferedReader reader = new BufferedReader(new FileReader(DEFAULT_NOTES_SAVED));
String fileNotes = reader.readLine();
while(fileNotes != null){
notes.add(fileNotes);
fileNotes = reader.readLine();
}
reader.close();
}
catch (IOException e){
System.err.println("The desired file " + DEFAULT_NOTES_SAVED + " has problems being read from");
}
catch (FileNotFoundException e){
System.err.println("Unable to open " + DEFAULT_NOTES_SAVED);
}
//make sure we have one note
if (notes.size() == 0){
notes.add("There are no notes stored in your note book");
}
}
每当我编译上面的内容时,我都会收到一条消息,说找不到符号类IOException e
有人可以告诉我如何解决它:d
感谢
答案 0 :(得分:21)
IOException是java.io包中的一个类,因此为了使用它,您应该在代码中添加import
声明。 import java.io.*;
(在java文件的最顶部,在包名和类声明之间)
FileNotFoundException 是 IOException。这是IOException的特化。一旦捕获到IOException,程序流将永远不会到达检查更具体的IOException的程度。只需交换这两个,先测试更具体的案例(FileNotFound)和然后处理(捕获)任何其他可能的IOExceptions。
答案 1 :(得分:3)
您可能缺少对import
IOException
的{{1}}引用。我位于class
包中。
我可以建议你改变方法吗?始终在finally块中关闭流:
java.io
答案 2 :(得分:2)
你需要
import java.io;
位于文件顶部。
此外,FileNotFoundException需要高于IOException,因为它是IOException的子类。
答案 3 :(得分:0)
您需要在文件顶部导入java.io. *包,或者将异常完全限定为java.io.IOException
答案 4 :(得分:0)
切换FileNotFoundException和IOException的顺序