Computer >> Máy Tính >  >> Lập trình >> Java

Mục đích của phương thức flush () của lớp BufferedWriter trong java là gì?

Trong khi bạn đang cố gắng ghi dữ liệu vào Luồng bằng đối tượng BufferedWriter, sau khi gọi write () ban đầu, dữ liệu sẽ được lưu vào bộ đệm, không có gì sẽ được in.

flush () được sử dụng để đẩy nội dung của bộ đệm vào Luồng bên dưới.

Ví dụ

Trong chương trình Java sau, chúng tôi đang cố gắng in một dòng trên bảng điều khiển (Dòng đầu ra chuẩn). Ở đây, chúng tôi đang gọi phương thức write () bằng cách chuyển chuỗi bắt buộc.

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");
   }
}

Tuy nhiên, vì bạn chưa xóa nội dung của Bộ đệm của BufferedWriter nên sẽ không có gì được in.

Để giải quyết vấn đề này, hãy gọi flush () sau khi thực thi write ().

Ví dụ

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();
   }
}

Đầu ra

Hello welcome to Tutorialspoint