我有一个Servlet,其中InputStream是以XML格式获取我的表单数据。我能够以XML格式检索表单数据并能够在文件中写入相同的数据。如果我打开文件,我可以看到我的表单数据。java中的字符串缓冲区问题
现在的问题是,当我尝试追加表单数据到字符串缓冲区它不会发生。我试过buffer.append()
。在该方法之后当我尝试打印字符串缓冲区值时,控制台中没有显示/打印任何内容。
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("html/text");
PrintWriter out = response.getWriter();
out.println("doPost Method is excecuting");
DataInputStream in = new DataInputStream (request.getInputStream());
StringBuffer buffer = new StringBuffer();
File file = new File("reqOutput.txt");
file.createNewFile();
FileWriter writer = new FileWriter(file);
int value;
while ((value=in.read()) != -1) {
buffer.append(value);
writer.write(value);
}
System.out.println("Value is : "+ buffer.toString()); // Nothing is printing
writer.flush();
writer.close();
}
我的代码有什么问题,请提出任何建议。
while循环不会被执行。 StringBuffer没有问题 – 2015-02-10 09:49:14
使用StringBuilder代替StringBuffer。 – 2015-02-10 09:50:00
是你的'in.read()'返回正确的值吗? – Vihar 2015-02-10 09:50:53