在.write
方法被調用後,有沒有辦法讓PrintWriter
或OutputStreamWriter
立即打印?我有autoFlush
開啓PrintWriter
。然而,對於這兩個類,僅當作者關閉時纔會打印內容。立即打印PrintWriter或OutputStreamWriter
對於它的價值,我使用Writer
因爲我需要在抽象控制檯輸出,文件輸出,並且輸出字符串。
謝謝!
編輯:
的SSCCE,顯示問題:
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
PrintWriter p = new PrintWriter(System.out, true);
Scanner read = new Scanner(System.in);
while (read.hasNextLine()) {
String input = read.nextLine();
if (input.equals("end"))
break;
p.write(input);
}
p.close();
}
}
/* Sample run: (first four lines are input)
cow
mow
pow
end
cowmowpow
*/
請顯示一個簡短但完整的程序來演示問題。 –
既然它是'Writer',爲什麼不直接調用'println()'來立即刷新數據並關閉流呢? –
@JonSkeet,請檢查編輯。 – missingfaktor