0

我正在做一个关于阅读文件的样本。我将一个 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();
4

3 回答 3

2

Java 对相对路径非常挑剔,因此“myfile.txt”可能应该存在于构建项目的任何地方。

至于关闭dataInputStream,不在范围内。在 try 块之外声明它。无论如何,我建议将实际close()调用放在 finally 块中以确保它始终完成(如果引用不为空)。

于 2013-04-11T18:48:38.403 回答
0

我同意吉列尔莫

myfile.txt 需要在您的类路径中。

如果您在命令行中运行此代码,它应该位于与此代码执行相同的文件夹或相同的包中。

至于数据输入流,它超出了范围

于 2013-04-11T18:55:07.347 回答
0

bufferedReader.close() 必须在关闭此操作的最后使用..

于 2013-04-11T19:51:22.200 回答