5

我无法在 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();
    }
4

2 回答 2

6

看起来文件确实创建没有问题。

您实际上可能会丢失它的保存位置。

更改此行:

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

至:

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

你可能会解决这个谜团。

于 2013-04-14T06:22:38.410 回答
3

正在创建文件,但它使用的是相对路径。它将对于执行位置创建,这在 Tomcat 上将不是您习惯的位置。

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

于 2013-04-14T06:23:59.960 回答