bufferwriter和stringwriter的异同

JAVA中writer有很多种,它们分别有什么异同?

第1个回答  2014-04-11
如它们的名字所暗示的,BufferedWriter 仅仅是额外增加了缓冲(Buffered) 功能,也就是它依然将数据写入到原来的那个 Writer (就是你创建 BufferedWriter 时的那个参数 writer) 中,只是它可能不是每次调用立即写出去而是有缓冲,至于缓冲的方法和时机这我们不需要关心。我们只需要按它文档说的,事情做完了之后或你认为需要立即写出时就 flush 一下就可以了。StringWriter 则是把一个东西写成一个 String 的一部分,它用来拼接字符串。

所有这些都叫 "Wrapper" ,在 Java 流式 API 中它是 Filtered ...,就像 FilteredInputStream, FilteredOutputStream 的功能一样。 像 ZipOutputStream 就是一个 Wrapper 在写入数据时压缩,数据本身依然是写入到原来的 OutputStream,我们只是额外增加了 Zip 压缩的功能。本回答被提问者和网友采纳
相似回答