使用Tomcat时无法写入文件

时间:2013-04-14 06:17:09

标签: java tomcat

我无法在Tomcat中创建然后编写文件。如果我将java程序(仅编写代码段)作为 Java应用程序运行,则会创建该文件,但在Tomcat中会失败。

没有错误消息。根本就没有创建该文件!

如果我在这里遗漏了一些内容,请提出建议:

//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();
    }

2 个答案:

答案 0 :(得分:6)

看起来这个文件确实没有问题。

您可能实际上缺少 保存的地方。

更改此行:

System.out.println("File write complete!");

要:

System.out.println("File write complete! Saved to: "+new File("data.txt").getAbsolutePath());

你可以解决这个问题。

答案 1 :(得分:3)

正在创建文件,但它正在使用相对路径。它将被创建 relative 到执行位置,在Tomcat上它不会是你习惯的地方。

使用绝对路径或打印其位置。