我编写了一个java程序,我正在创建一个文件。
BufferedWriter writer =
new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("myfile.txt"))
它正在当前文件夹(我的项目文件夹)中创建文件。直到这里一切都很完美。现在我设计了一个servlet并调用这个类。现在,该文件已在tomcat bin文件夹中创建。我是否需要对tomcat中的classpath
或server.xml
或context.xml
进行任何更改?
答案 0 :(得分:2)
原因:
您的程序正在"当前工作目录中创建一个新文件"。
因为它是在Tomcat内部运行的servlet,所以"当前目录"碰巧是Tomcat" bin" 。目录
SUGGESTIONS:
如果可能,请使用完全限定的路径("/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
)中的路径。