Java 使用Tomcat时无法写入文件
我无法在Tomcat中创建并写入文件。如果我将java程序(仅编写代码)作为java应用程序运行,但在Tomcat中失败,则会创建该文件 没有错误消息。文件根本就没有创建 如果我在这里遗漏了什么,请建议:Java 使用Tomcat时无法写入文件,java,tomcat,Java,Tomcat,我无法在Tomcat中创建并写入文件。如果我将java程序(仅编写代码)作为java应用程序运行,但在Tomcat中失败,则会创建该文件 没有错误消息。文件根本就没有创建 如果我在这里遗漏了什么,请建议: //code inside the servlet public void setData(HttpServletRequest request){ name=request.getParameter("name"); address=request.getParameter(
//code inside the servlet
public void setData(HttpServletRequest request){
name=request.getParameter("name");
address=request.getParameter("address");
BufferedWriter dataOut;
try {
System.out.println("Wrinting file...");
dataOut = new BufferedWriter(new FileWriter("data.txt", true));
dataOut.write("name:");
dataOut.flush();
dataOut.write("address");
dataOut.flush();
dataOut.write("\n");
dataOut.flush();
dataOut.close();
System.out.println("File write complete!");
}
catch(Exception e){
e.printStackTrace();
}
看起来这个文件真的创建得很顺利 实际上,您可能缺少保存它的位置 更改此行:
System.out.println("File write complete!");
致:
您可以解决这个问题。正在创建文件,但它使用的是相对路径。它将相对于执行位置创建,而Tomcat上的执行位置将不是您习惯的位置
使用绝对路径或打印其位置。实际上文件是创建的,但您在哪里查找它?由于您没有指定文件的完整路径,因此将在tomcat的当前上下文中创建它。指定完整路径示例dataOut=new BufferedWriter(new FileWriter(“d:\\data.txt”,true));检查D:谢谢!!!我收到这条消息..文件写入完成!保存到:/Users/macbookpro/Downloads/eclipse/eclipse.app/Contents/MacOS/data.txt如何将其保存到Web内容文件夹?如何将其保存到Web内容文件夹?使用绝对路径“/Users/path/to/Web内容/data.txt”,而不是相对路径“data.txt”,或者使用将其放置在您想要的位置的相对路径(我不知道您想要的文件夹与文件现在的位置相关):“../../../path/to/web content/data.txt”
System.out.println("File write complete! Saved to: "+new File("data.txt").getAbsolutePath());