我想使用PrintWriter或PrintStream将格式化的字符串写入输出流(为此我无法控制创建)。然而,冲洗底层的OutputStream有很大的性能影响。是否需要刷新PrintWriter/PrintStream?
难道一个PrintWriter/PrintStream的需要被刷新。
如果我需要刷新的PrintStream/PrintWriter的;我是否可以在不清除底层OutputStream的情况下执行此操作,或者是否需要创建“flush flush”OutputStream来封装基础流?
要尽量在此我想要实现
public void writeSomeString(OutputStream foo);
更清晰一点,但这种方法可能会被调用相同的OutputStream(富)多次。每个电话都必须构建自己的PrintWriter。我知道这样做很难,但我无法控制界面或创建foo
。
我试图避免冲洗foo
刚刚刷新了自己的PrintWriter/PrintStream的每个方法。
所以我想:
public void writeSomeString(OutputStream foo) {
PrintStream s = new PrintStream(foo);
s.println("bar");
// other code
}
我想完全避免这种方法冲洗foo
是的,我想我将不得不冲洗它。我将包装输入流以防止它冲洗底层的OutputStream。谢谢。 –
不客气! –