Java 中 BufferedWriter 類的 flush() 和 close() 方法有什麼用?
Java 的 BufferedWriter 類用於將字元流寫入指定的目標(字元輸出流)。它最初將所有字元儲存在緩衝區中,並將緩衝區的內容推送到目標,從而使字元、陣列和字串的寫入更高效。
您可以在例項化此類時指定所需的緩衝區大小。
flush() 方法
當您嘗試使用 BufferedWriter 物件將資料寫入流時,在呼叫 write() 方法後,資料將首先被緩衝,不會列印任何內容。
**flush()** 方法用於將緩衝區的內容推送到底層流。
示例
在下面的 Java 程式中,我們嘗試在控制檯(標準輸出流)上列印一行。在這裡,我們透過傳遞所需的字串來呼叫 write() 方法。
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
廣告