Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จุดประสงค์ของวิธีการ flush() ของคลาส BufferedWriter ใน java คืออะไร?


ขณะที่คุณกำลังพยายามเขียนข้อมูลไปยังสตรีมโดยใช้วัตถุ BufferedWriter หลังจากเรียกใช้ write() เมธอด ข้อมูลจะถูกบัฟเฟอร์ในขั้นต้น ไม่มีอะไรจะถูกพิมพ์

ฟลัช() เมธอดใช้เพื่อผลักเนื้อหาของบัฟเฟอร์ไปยังสตรีมพื้นฐาน

ตัวอย่าง

ในโปรแกรม Java ต่อไปนี้ เรากำลังพยายามพิมพ์บรรทัดบนคอนโซล (Standard Output Stream) เราจะเรียกใช้เมธอด 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");
   }
}

แต่เนื่องจากคุณยังไม่ได้ล้างเนื้อหาใน Buffer of the BufferedWriter จึงไม่พิมพ์อะไรออกมา

ในการแก้ไขปัญหานี้ ให้เรียกใช้ 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