我想实例化一个缓冲的编写器来写入socket输出流.
String cs = "UTF-8";
OutputStream out = socket.getOutputStream();
Writer writer1 = new BufferedWriter(
new OutputStreamWriter(out, cs));
Writer writer2 = new OutputStreamWriter(
new BufferedOutputStream(out), cs);
Writer writer3 = new BufferedWriter(
new OutputStreamWriter(
new BufferedOutputStream(out), cs));
Run Code Online (Sandbox Code Playgroud)
第一版和第二版之间有没有明显的区别?哪一个更适合写入套接字?第三个版本有点"矫枉过正"吗?
第三个是矫枉过正.
第一个是首选,因为它在通过文本到字节编码器发送之前缓冲数据,这在块中完成时比一次一个字符更好.
javadoc OutputStreamWriter甚至如此说:
为了获得最高效率,请考虑在BufferedWriter中包装OutputStreamWriter,以避免频繁的转换器调用.例如:
Run Code Online (Sandbox Code Playgroud)Writer out = new BufferedWriter(new OutputStreamWriter(System.out));
| 归档时间: |
|
| 查看次数: |
44 次 |
| 最近记录: |