猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
java stringwriter 的 flush()问题
我想知道我在第20行对sw字符串输出流进行了刷新,那为什么21行还会有输出?
心有法竹
浏览 601
回答 1
1回答
湖上湖
StringWriter实现flush方法只是因为它的父类Writer实现了Flushable接口,如果你可以看到源码,会发现StringWriter其实啥事也没干: /** * Flush the stream. */ public void flush() { }flush方法是影响有目的地的buffer,让其直接输出到目的地中,而StringWriter是直接操作内存的,没有目的地,所以flush方法对其没有意义。你可以用sw.getBuffer().setLength(0)来实现,但它并不会缩小buffer内部存储字符数组的长度,只是将内容写成‘\0’,所以最好的方式还是新建StringWriter对象。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续