我正在做一个关于阅读文件的示例。我把一个txt文件放到项目文件夹中并编写了这段代码,但是我得到了异常FileNotFound
,当我尝试关闭dataInputStream
时,我收到了编译错误(注释掉了行)。我想我搞砸了一切
String str=null;
try {
FileInputStream fileInputStream=new FileInputStream("myfile.txt");
DataInputStream dataInputStream=new DataInputStream(fileInputStream);
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(dataInputStream));
str=bufferedReader.readLine();
} catch (Exception e) {
System.out.println(e.getMessage());
}
System.out.println(str);
//dataInputStream.close();
答案 0 :(得分:2)
Java对于相对路径非常挑剔,所以“myfile.txt”应该可以存在于构建项目的任何地方。
至于关闭dataInputStream
,它不在范围内。在try块之外声明它。在任何情况下,我建议将实际的close()
调用放在finally块中,以确保它始终完成(如果引用不为null)。
答案 1 :(得分:0)
我同意吉列尔莫
myfile.txt需要在您的类路径中。
如果在命令行中运行此代码,它应该与此代码执行的文件夹相同,或者位于相同的包中。
对于datainput流,它超出了范围
答案 2 :(得分:0)
bufferedReader.close()必须在关闭此操作的末尾使用..