tomcat 部署后的文本文件位置

text files location after tomcat deployement

我正在使用文本文件在我的网络应用程序中进行一些处理,

但是当我在 tomcat 上部署时,路径已更改,我无法再访问我的文件

我的结构如下

src 包含 java 类 并且 files 包含我要访问的文件。

我在部署前通过以下路径访问它:

String filePath="files/P1.txt";

但部署后我无法再访问文件,

我如何定义路径以便它在部署后起作用?

非常感谢。

如果 P1.txt 直接位于 files/ 下,据我所见,您的图片已标记为源目录,我希望该文件应位于类路径的根目录中并且可以在没有 files/ 路径段的情况下访问。要从类路径中读取文件,您需要找到类加载器:

class MyClass {
   public void readFile() {
    // ... some logic
    InputStream in = this.getClass().getClassLoader().getResourceAsStream("P1.txt");
    // ... some logic with the stream.
   }
}

为了验证类路径中的文件,也为了调试目的,您可以列出类路径中的所有文件:

Enumeration<URL> rootFiles = this.getClass().getClassLoader().getResources("");

传递给 getResources 方法的空字符串给出了类路径根目录中的文件和目录。您应该能够在那里看到您的文件。