我正在尝试从Netbeans中的文本文件中读取。在我的项目目录的顶层我有foo.txt。然后在我的代码中我有:
File file = new File("foo.txt");
但是,它会抛出一个FileNotFoundException
。它是一个使用Spring和Tomcat的Java Web应用程序,但我不确定这些细节是否重要,因为我在Netbeans中运行整个事情。基本上,我只是想知道我需要把文件放在哪里,以便Netbeans读取它。
更新 - 好的打电话的人,它正在查看Tomcat的bin目录。现在这可能是一个愚蠢的问题,但是,如何让它在我的顶级项目目录中查看?我觉得把文本文件放到tomcat的bin中是不合适的。
答案 0 :(得分:5)
您可以尝试打印File
对象的绝对路径,以查看它在文件系统上的位置。
System.out.println(file.getAbsolutePath());
答案 1 :(得分:4)
我会使用以下内容来确定放置文件的位置:
System.out.println(System.getProperty("user.dir"));
答案 2 :(得分:3)
要直接回答您的问题,如果您在Tomcat上运行应用程序,将从当前工作目录打开文件。这可能是bin/
目录中的tomcat
文件夹。
通过检查file.getAbsolutePath()
的结果,您可以确定程序的查找位置。
但是,对于Web应用程序,我建议您在类路径中放置需要读取的文件,这样在部署Web应用程序时就不必依赖某个文件结构。
答案 3 :(得分:0)
尝试System.getProperty("user.dir")
获取当前工作目录