有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

tomcat部署后java文本文件的位置

拜托,我正在用文本文件在我的网络应用程序中做一些处理

但当我在tomcat上部署时,路径发生了变化,我无法再访问我的文件

我的结构如下

[project structure

src包含java类,文件包含我想要访问的文件

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

String filePath="files/P1.txt";

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

如何定义路径,使其在部署后能够正常工作

非常感谢


共 (1) 个答案

  1. # 1 楼答案

    如果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方法的空字符串给出类路径根目录中的文件和目录。你应该可以在那里看到你的文件