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

更新於: 15-Oct-2019

322 次瀏覽

開始您的職業

完成課程後獲得認證

開始學習
廣告