我想使用 PrintWriter 或 PrintStream 将格式化的字符串写入输出流(我无法控制其创建)。然而,刷新底层的 OutputStream 会对性能造成很大影响。
是否需要刷新 PrintWriter / PrintStream。
如果我需要刷新 PrintStream / PrintWriter;我可以在不刷新底层 OutputStream 的情况下这样做,还是需要创建一个“刷新保护器”OutputStream 来包装底层流?
为了更清楚一点,我想实现
public void writeSomeString(OutputStream foo);
但是对于同一个OutputStream(foo),这个方法可能会被多次调用。每个调用都必须构造自己的 PrintWriter。我知道这样做很难看,但我无法控制界面或foo
.
我试图避免每个方法都必须刷新foo
才能刷新自己的 PrintWriter / PrintStream。
所以我想:
public void writeSomeString(OutputStream foo) {
PrintStream s = new PrintStream(foo);
s.println("bar");
// other code
}
我想完全避免这种方法冲洗foo