java.io.FileNotFoundException问题

时间:2011-03-05 02:09:15

标签: java

我有一个文本文件text.txt,位于类输出根目录中。

当我使用新文件(“text.txt”)时,我收到了java.io.FileNotFoundException。

我的输出结构很喜欢

com
    mycompany
         test.class
text.txt

有什么问题,如何解决?

3 个答案:

答案 0 :(得分:5)

如果您没有为文件提供绝对位置,则会从您启动程序的位置(您的工作目录)进行搜索。因此,在与该文件相同的目录中启动您的应用程序,或将文件移动到您要启动的位置。

如果你想读取相对于你的类路径的文件,你需要做这样的事情......

reader = new BufferedReader(new InputStreamReader(
    getClass().getClassLoader().getResourceAsStream("test.txt")));

答案 1 :(得分:1)

它将使用当前的工作目录。从Java文档(http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html#File%28java.lang.String%29):

  

默认情况下,java.io包中的类始终解析当前用户目录的相对路径名。此目录由系统属性user.dir命名,通常是调用Java虚拟机的目录。

答案 2 :(得分:0)

new File("text.txt")与您的工作目录相关。您可以使用this.getClass().getResourceAsStream("text.txt")从类路径加载文件。