首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

为什么是把一整个读完以后才输出到客户端,而不是读一次输出一次解决办法

2012-02-12 
为什么是把一整个读完以后才输出到客户端,而不是读一次输出一次Stringmimetypedds.getString( mimetype

为什么是把一整个读完以后才输出到客户端,而不是读一次输出一次
String   mimetype=dds.getString( "mimetype ");//这是设置它的类型

response.getHttpServletResponse().reset();  
response.setContentType(mimetype);      
response.setHeader( "Content-Disposition ",   "attachment;       filename= "+   new   String(name.getBytes(),   "iso8859-1 "));//处理默认文件名的中文问题      
ServletOutputStream   os   =   response.getHttpServletResponse().getOutputStream();
//File   f   =   new   File   (url);
FileInputStream   in   =   new   FileInputStream(url);
long   old   =   System.currentTimeMillis();
byte[]   data   =   new   byte[10*1024*1024];
int   temp   =   -1;
int   c   =   0;
while   ((temp   =   in.read(data))   !=   -1)  
{
os.write(data,   0,   temp);
os.flush();

}


[解决办法]
浏览器向服务器发送请求,服务器在处理完请求后会向浏览器输出结果,这个过程是由一次请求完成的所以会一起输出到浏览器,除非你有多个请求.
[解决办法]
因为视屏文件一般都在150mb左右!一次性读完的话,消耗的时间会比较久,可不可以先让它读到一半,输出到客户端,然后把剩下的再继续读!
[解决办法]
那就得采用流媒体的方式

热点排行