【问题标题】:Java is creating file in tomcat bin folderJava正在tomcat bin文件夹中创建文件
【发布时间】:2015-03-10 18:27:55
【问题描述】:

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

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

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

【问题讨论】:

标签: java tomcat


【解决方案1】:

原因:

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

由于它是在 Tomcat 内部运行的 servlet,“当前目录”恰好是 Tomcat 的“bin”目录。

建议:

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

  • 你也可以写你的文件相对于getServletContext():

How to store a file on a server(web container) through a Java EE web application?

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多