读书人

关于PrintWriter的flush()方法,该怎么

发布时间: 2012-09-12 09:21:30 作者: rapoo

关于PrintWriter的flush()方法
在web编程中需要返回数据给客户端时都是采用PrintWriter,获取一个输出流对象采用以下方法!奇怪的是当调用了flush()方法后,会在返回的数前面加上一个以16进制表示的数据大小,以及最后面加个0,请问这是怎么回事?谁给我解释下!做这客户端那边的老大给我下难题了,要我给他个合理解释为什么会这样!

Java code
response.setContentType("text/xml");response.setCharacterEncoding("utf-8");PrintWriter out=null;try {    out=response.getWriter();    msg.append("<data>");    msg.append(sbf.toString());            msg.append("</data>");} catch (IOException e) {    // TODO Auto-generated catch block    e.printStackTrace();}out.print(msg.toString());out.flush();//加上这个就会在数据前自动加上大小及最后一个0out.close();




[解决办法]
应该不需要加0的
[解决办法]
会在返回的数前面加上一个以16进制表示的数据大小,以及最后面加个0


把这个贴出来看一下
[解决办法]
不需要,你随便找个Servlet,基本上都不会看到调用flush的,除非有很特殊的实时性需要。
[解决办法]
怀疑是编码的问题.
LZ的java文件是什么编码?客户端用的是什么编码?

[解决办法]
flush()方法是正对于缓冲流的

读书人网 >Java Web开发

热点推荐