我已经从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>");*/
}
答案 0 :(得分:1)
尝试
FileWriter fw=new FileWriter(filename,true); //where filename is that File object
public FileWriter(文件文件, 布尔附加) 抛出IOException
在给定File对象的情况下构造FileWriter对象。如果是第二个 参数为true,然后将字节写入文件的末尾 而不是开始。
答案 1 :(得分:1)
@singhakash提供的解决方案是正确的。
您可以使用
FileWriter fw=new FileWriter(filename,true);
并且如上所述,如果第二个参数为真,则字节将在末尾附加。
或者您可以使用File的getAbsoluteFile()
方法
FileWriter fw=new FileWriter(filename.getAbsoluteFile());
相同的文件或目录
getAbsoluteFile()
方法将返回,绝对抽象 pathname表示与此抽象路径名(JavaDocs)