Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

java에서 BufferedWriter 클래스의 flush() 메소드의 목적은 무엇입니까?

<시간/>

BufferedWriter 개체를 사용하여 스트림에 데이터를 쓰려고 하는 동안 write() 방법은 데이터가 처음에 버퍼링되고 아무 것도 인쇄되지 않습니다.

플러시() 메서드는 버퍼의 내용을 기본 스트림으로 푸시하는 데 사용됩니다.

예시

다음 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의 버퍼 내용을 플러시하지 않았기 때문에 아무 것도 인쇄되지 않습니다.

이 문제를 해결하려면 flush()를 호출하세요. 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");
      writer.flush();
   }
}

출력

Hello welcome to Tutorialspoint