0

我对 eclipse 很陌生,我的代码中有以下行:

BufferedReader bf = new BufferedReader(new FileReader("dvdinfo.txt"));

当通过简单的文本编辑器和 Windows 控制台实现时,它工作正常,但通过 Eclipse 运行时,它显示FileNotFoundException

是的,我总是将 txt 文件保存在与.java包含此代码的文件相同的文件夹中。同样在 Eclipse 中,我选择将我的源代码和我的类文件放在同一个文件夹中。

是否有任何不同的方法可以在 eclipse.xml 中指定同一文件夹中的文件名。

注意:我使用的是 Windows 7 和 Eclipse 3.7

4

2 回答 2

1

是的,我总是将 txt 文件保存在与包含此代码的 .java 文件相同的文件夹中。

这并不意味着在您运行代码时它位于同一目录中。

是否有任何不同的方法可以在 eclipse.xml 中指定同一文件夹中的文件名。

和什么文件夹一样?如果您希望文件与构建的输出打包在一起,您可以在 Eclipse 中将其指定为资源,但您应该使用Class.getResourceAsStream()or来读取它ClassLoader.getResourceAsStream()

如果您真的希望它是一个文件,您可能需要指定一个绝对文件名在 Eclipse 的运行配置中更改工作目录。

于 2012-06-20T12:09:10.087 回答
1

意外的 FNFE(尤其是不合格的文件名)往往是因为您没有在您认为的目录中查找。堆栈跟踪中是否包含限定文件名?

尝试这个;

File file = new File("dvdinfo.txt");
try {
  BufferedReader bf = new BufferedReader(new FileReader(file));
  ......
} catch (FileNotFoundException fnfe) {
  //Note that writing to syserr is only for debugging - don't do this in prod
  System.err.println("Can't find " + file.getCanonicalPath());
  fnfe.printStackTrace();
}
于 2012-06-20T12:13:56.727 回答