Java Netbeans从哪里读取文件?

Java Netbeans从哪里读取文件?,java,netbeans,Java,Netbeans,我正在尝试从Netbeans中的文本文件读取数据。在我的项目目录的顶层,我有foo.txt。在我的代码中,我有: File file = new File("foo.txt"); 但是,它会抛出一个FileNotFoundException。这是一个使用Spring和Tomcat的Java web应用程序,但我不确定这些细节是否重要,因为我在Netbeans中运行整个程序。基本上,我只是想知道我需要把文件放在哪里,以便Netbeans可以读取它 更新-很好的呼叫伙计们,它正在Tomcat的bi

我正在尝试从Netbeans中的文本文件读取数据。在我的项目目录的顶层,我有foo.txt。在我的代码中,我有:

File file = new File("foo.txt");
但是,它会抛出一个
FileNotFoundException
。这是一个使用Spring和Tomcat的Java web应用程序,但我不确定这些细节是否重要,因为我在Netbeans中运行整个程序。基本上,我只是想知道我需要把文件放在哪里,以便Netbeans可以读取它


更新-很好的呼叫伙计们,它正在Tomcat的bin目录中查找。现在,这可能是一个愚蠢的问题,但是,我该如何让它在我的顶级项目目录中查找呢?我觉得把文本文件放到tomcat的容器中是不合适的。

您可以尝试打印
文件
对象的绝对路径,以查看它在文件系统上的位置

System.out.println(file.getAbsolutePath());

为了直接回答您的问题,如果您在Tomcat上运行应用程序,将从当前工作目录打开文件。这可能是您的
tomcat
目录中的
bin/
文件夹

通过检查
file.getAbsolutePath()
的结果,您可以确定程序正在查找的位置


但是,对于web应用程序,我建议将需要读取的文件放在类路径中,这样在部署web应用程序时就不必依赖于特定的文件结构。

我将使用以下方法来确定将文件放在何处:

System.out.println(System.getProperty("user.dir"));

尝试
System.getProperty(“user.dir”)
获取当前工作目录

您发布的代码只能抛出
NullPointerException
。抛出的是另一个
FileNotFoundException
。没错,我相信是我稍后用该文件创建的scanner对象抛出了FileNotFound。