tomcat deployement之后的文本文件位置

时间:2017-07-17 16:00:23

标签: java file tomcat tomcat7 web-deployment

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

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

我的结构如下

[project structure

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

我在部署之前使用以下路径访问它:

String filePath="files/P1.txt";

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

如何定义路径以使其在部署后能够正常运行?

非常感谢。

1 个答案:

答案 0 :(得分:0)

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