Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Tomcat时无法写入文件_Java_Tomcat - Fatal编程技术网

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(

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

看起来这个文件真的创建得很顺利

实际上,您可能缺少保存它的位置

更改此行:

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