Java 中的 BufferedWriter 類中的 flush() 方法有什麼用途?
當您嘗試使用 BufferedWriter 物件向 Stream 寫入資料時,在呼叫 write() 方法後,資料將最初緩衝起來,不會列印任何內容。
flush() 方法用於將緩衝區的內容推送到底層 Stream。
示例
在下面的 Java 程式中,我們嘗試在控制檯(標準輸出流)上列印一行。此處,我們呼叫 write() 方法,並傳入所需的 String。
import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStreamWriter; public class BufferedWriterExample { public static void main(String args[]) throws IOException { //Instantiating the OutputStreamWriter class OutputStreamWriter out = new OutputStreamWriter(System.out); //Instantiating the BufferedWriter BufferedWriter writer = new BufferedWriter(out); //Writing data to the console writer.write("Hello welcome to Tutorialspoint"); } }
但是,由於您尚未重新整理 BufferedWriter 緩衝區的內容,因此不會列印任何內容。
要解決此問題,請在執行 write() 之後呼叫 flush() 方法。
示例
import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStreamWriter; public class BufferedWriterExample { public static void main(String args[]) throws IOException { //Instantiating the OutputStreamWriter class OutputStreamWriter out = new OutputStreamWriter(System.out); //Instantiating the BufferedWriter BufferedWriter writer = new BufferedWriter(out); //Writing data to the console writer.write("Hello welcome to Tutorialspoint"); writer.flush(); } }
輸出
Hello welcome to Tutorialspoint
廣告