FileWriter问题

来源:百度知道 编辑:UC知道 时间:2024/06/26 02:48:58
我通过Ajax发送内容到服务器端 服务器端接受后想写入文件 但是不知道为什么当数据稍微大点时不能完全写入只能写如一部分, 我把代码发出来请高手帮我看看

客户端:
var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
try {
xmlHTTP.open("POST",g_GlobalInfo.WebRoot+"oss/wf/template/public/jsp/save.jsp?filePath="+filePath,false);
xmlHTTP.send(vHtml);

if(200 == xmlHTTP.status || 0 == xmlHTTP.status) {
alert(xmlHTTP.responseText);
return true;
}
}
catch(e) {
return false;
}

服务器端:

<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%@ page import="java.io.*"%>
<%
BufferedReader in = request.getReader();
String filePath=request.getParameter("filePath");
//oss/wf/template/test.html
String line;
String realPath = config.getServletContext().getRealPath(filePath);

楼上的同学,怎么会超时!?ajax请求就是独立的一个线程你等在那里,怎么会超时,我做过一个基于ajax的b/s聊天,实现和楼主差不多,不过我们的聊天数据量不大
楼主可能是缓冲区太小的缘故,不过你每次都flush了啊,只能活马当死马医了,BufferedWriter bw=new BufferedWriter(fw,8096);设置一个缓冲区大小为8096看看楼主,还可以适当的调大 ,再试试吧其他确实也没有看出什么问题

你对I/O流的操作还没完全掌握,可以考我这个修改一下代码。
还有问题可以再补充。
import java.io.*;
public class Test {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new FileReader("c:/test.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("c:/b.txt"));
String line = br.readLine();
while(line != null) {
bw.write(line + "\r\n");
System.out.println(line);
line = br.readLine();
}
bw.close();
br.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.pri