我想知道有没有可能
new PrintWriter(new BufferedWriter(new PrintWriter(s.getOutputStream, true))) 在Java中,s在哪里是套接字?因为不可能从输出流创建BufferedWriter,所以我用PrintWriter包装了输出流。但是我想缓冲我的打印输出,所以我用一个BufferedWriter包装它。但最终我想使用PrintWriter打印,所以我用printWriter再次包装它。这在Java中是合法的吗?谢谢!
发布于 2012-02-20 05:31:28
这是合法的,但很笨拙。您可以改为缓冲OutputStream:
new PrintWriter(new BufferedOutputStream(s.getOutputStream), true)还可以了解一下new PrintWriter(OutputStream, boolean)的实现
public PrintWriter(OutputStream out, boolean autoFlush) {
this(new BufferedWriter(new OutputStreamWriter(out)), autoFlush);
}缓冲已经存在了!
发布于 2012-02-20 05:47:08
OutputStreamWriter就是你要找的类。只需向它传递一个流和一个编码,例如"UTF-8"。
new PrintWriter(new BufferedWriter(new OutputStreamWriter(s.getOutputStream(), encoding)), true) https://stackoverflow.com/questions/9353372
复制相似问题