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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP