Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 在servlet中写入文件时出错_Java_File_Jsp_Servlets - Fatal编程技术网

Java 在servlet中写入文件时出错

Java 在servlet中写入文件时出错,java,file,jsp,servlets,Java,File,Jsp,Servlets,我已经从servlet中的doPost方法创建了一个文件,但无法将数据写入其中。我想不出是什么错误。顺便说一下,文件正在创建 // TODO Auto-generated method stub response.setContentType("text/html"); String name=request.getParameter("name"); response.getWriter().println(name); File

我已经从servlet中的doPost方法创建了一个文件,但无法将数据写入其中。我想不出是什么错误。顺便说一下,文件正在创建

// TODO Auto-generated method stub
        response.setContentType("text/html");
        String name=request.getParameter("name");
        response.getWriter().println(name);
        File filename= new File("/home/ksampath/D3/DedupeEngine/cache3.txt");
        filename.createNewFile();
        BufferedWriter out = null;
        try
        {
            System.out.println("I am going to create a new file");
            FileWriter fw=new FileWriter("cache3.txt",true);
            out=new BufferedWriter(fw);
            out.write("hello world");
            out.write(name);
        }

        catch(IOException e)
        {
            System.err.println("Error"+ e.getMessage());
        }
        finally
        {
            if(out!=null)
            {
                out.close();
            }
        }
        /*
        System.out.println("Lets us check whether it works");
        PrintWriter writer=response.getWriter();
        writer.println("<h3>hello This is my first servlet</h3>");*/
    }
//TODO自动生成的方法存根
response.setContentType(“text/html”);
字符串名称=request.getParameter(“名称”);
response.getWriter().println(名称);
文件名=新文件(“/home/ksampath/D3/dedudeEngine/cache3.txt”);
filename.createNewFile();
BufferedWriter out=null;
尝试
{
System.out.println(“我将创建一个新文件”);
FileWriter fw=新的FileWriter(“cache3.txt”,true);
out=新的缓冲写入程序(fw);
写出(“你好世界”);
写出(姓名);
}
捕获(IOE异常)
{
System.err.println(“Error”+e.getMessage());
}
最后
{
if(out!=null)
{
out.close();
}
}
/*
System.out.println(“让我们检查它是否工作”);
PrintWriter=response.getWriter();
println(“你好,这是我的第一个servlet”)*/
}
试试看

公共文件编写器(文件、, 布尔(追加) 抛出IOException

在给定文件对象的情况下构造FileWriter对象。如果第二个 参数为true,则字节将写入文件末尾 而不是开始


由@singhakash提供的解决方案是正确的

你可以使用

FileWriter fw=new FileWriter(filename,true);
如前所述,若第二个参数为true,那个么将在末尾追加字节

或者您可以使用
getAbsoluteFile()

FileWriter fw=new FileWriter(filename.getAbsoluteFile());
getAbsoluteFile()
方法将返回绝对摘要 表示与此抽象路径名()相同的文件或目录的路径名


您是否遇到异常或编译错误?
FileWriter fw=new FileWriter(filename.getAbsoluteFile());