文件未找到[Java]
问题描述:
我有一个任务,我们有几个给出的类,其中之一是一个filereader类,它有一个读取文件的方法,并用包含文件的参数(String)调用它路径,现在我有几个.txt文件,它们和.java文件在同一个文件夹中,所以我认为我可以将file.txt作为文件路径传递(就像在php中一样),但总是返回一个文件没有发现异常!文件未找到[Java]
看到给定的类应该正常工作的事实,并且我证实这些类实际上与.java文件位于相同的文件夹workspace/src中,我必须对filepath String做一些错误的操作,但是什么?
private static final String fileF = "File.txt";
private static final ArrayList<String[]> instructionsF =
CreatureReader.readInstructions(fileF);
这是我的代码,
感谢您的帮助
答
把这个:
File here = new File(".");
System.out.println(here.getAbsolutePath());
在你的代码的某个地方。它会打印出你的程序的当前目录。
然后,只需将文件放在那里,或更改文件路径。
答
有两件事情需要注意:
- 检查,如果 “FILE.TXT” 的真名叫这样的,因为它不会找到“file.txt” - >大小写敏感问题!
- 如果使用相对文件名(不包括整个目录),文件将不会被发现,这是不是在你的类路径 - >尽量把它放在你的
.class
文件生成
所以:如果你有一个名为/home/javatest/File.txt
的文件,你的源代码在/home/javatest/
和你的.class
文件在同一目录中,你的代码应该可以正常工作。
答
如果您的课程在包装中,而且您已将这些文件作为兄弟姐妹放置,那么您的路径必须包含包装路径。正如其他答案中所建议的那样,打印出工作目录的路径以确定Java在哪里查找相关文件。
这不能是你的所有代码,因为它不是一个有效的Java类。请用能够重现问题的最小可执行代码更新问题。您至少应该包含Java文件IO调用。 – 2010-12-02 21:24:01
这不是关于.java文件的位置,当前工作目录是您从中运行可执行文件的位置。 – Falmarri 2010-12-02 21:24:47