Java 正在 tomcat bin 文件夹中创建文件



我写了一个Java程序,我正在其中创建一个文件。

BufferedWriter writer = 
    new BufferedWriter(
        new OutputStreamWriter(
            new FileOutputStream("myfile.txt"))

它正在当前文件夹(我的项目文件夹)中创建文件。直到这里,一切都很完美。现在我已经设计了一个servlet并调用了这个类。该文件现在正在 tomcat bin 文件夹中创建。我是否需要对 tomcat 中的classpathserver.xmlcontext.xml进行任何更改?

原因:

您的程序正在"当前工作目录"中创建一个新文件。

由于它是在Tomcat

内部运行的servlet,因此"当前目录"恰好是Tomcat的"bin"目录。

建议:

  • 如果可能,请使用完全限定的路径 ( "/tmp/myfile.text"

  • 您还可以相对于getServletContext()写入文件:

如何通过Java EE Web应用程序将文件存储在服务器(Web容器)上?

  • 您可以使用相对路径,并在属性文件 ( WEB-INFmyprog.properties ) 或 JVM 参数 ( -D filepath=/my/file/path ) 中参数化该路径。

最新更新