应该使用缓冲区,你的代码写一个字符就要前后端就要交互一次,那当然慢.
char[] buf = new char[4096];
java.util.Arrays.fill(buf,'0');
int len = 10000000;
PrintWriter p = new PrintWriter(response.getOutputStream());
while (len>0){
p.print(buf);
len = len - 4096;
if (len<4096)
break;
}
buf = new char[len];
java.util.Arrays.fill(buf,'0');
p.print(buf);
char[] buf = new char[4096];
java.util.Arrays.fill(buf,'0');
int len = 10000000;
PrintWriter p = new PrintWriter(response.getOutputStream());
while (len>0){
p.print(buf);
len = len - 4096;
if (len<4096)
break;
}
buf = new char[len];
java.util.Arrays.fill(buf,'0');
p.print(buf);
解决方案 »
- birt的问题,回答好的给满分100分
- 这里为什么不能用C的答案?
- 问一个很弱的语法问题
- 非专业人士求助jsp问题,急!!!
- 倾家荡产请教一个日期问题
- spring3.1 hibernate 4.2 事务配置未能起作用。求帮忙看看,谢谢
- 复选框选择问题:为什么没有选中复选框,也不提示信息?
- 关于解析request的问题
- JAVA程序错误(急
- 请问java.sql包中 preparedStatement 对象的setString(int parameterIndex,java.lang.String x)方法怎么用?
- 高分急求程序代码!!!
- DateAdd、DateDiff这类函数的功能在java里怎么实现呢,有对应的函数么?
先在for之前调用setBufferSize(1000)预先设置Buffer大小,如果不行则在循环当中调用flushBuffer试试