Java Streams에서 flush() 메서드 사용
이 기사에서는 Java 스트림에서 실행되는 flush()
기능과 그 주요 목적에 대해 설명합니다.
Java의 flush()
메서드
이 Writer 스트림은 Writer
클래스에서 찾을 수 있는 flush()
함수를 사용하여 플러시할 수 있습니다. 대상이 다른 문자 또는 바이트 스트림을 보유하고 있는지 여부를 확인한 후 스트림이 원하는 대상에 즉시 쓰기 전에 다양한 write()
메서드의 문자를 버퍼에 저장한 경우 대상이 플러시되었습니다.
스트림이 문자를 저장한 경우 대상이 플러시되었습니다. 대상에 다른 문자 또는 바이트 스트림이 포함된 경우 flush()
를 한 번만 사용하면 Writer 및 출력 스트림의 문자열에 있는 모든 버퍼 데이터를 플러시할 수 있습니다.
버퍼링의 주요 목표는 I/O
작업의 성능을 향상시키는 것입니다.
flush()
메소드의 목적
스트림에 데이터를 쓸 때 데이터가 즉시 쓰여지지 않습니다. 대신 버퍼에 저장됩니다. buffer
의 모든 데이터가 기록되었는지 확인해야 하는 경우 flush()
기능을 사용합니다.
스트림을 종료하기 전에 모든 쓰기가 완료되었는지 확인해야 하므로 flush()
함수는 파일이 닫히거나 버퍼링된 writer()
에서 호출됩니다. 그러나 stream()
을 종료하기 전에 이러한 쓰기를 보존해야 하는 경우 flush()
를 사용해야 합니다.
모든 임시 메모리 위치가 용량에 도달하면 flush()
기능을 사용합니다. 이것은 모든 데이터 스트림을 지우고 완전히 처리되도록 하며 임시 버퍼 위치에 다른 데이터 스트림을 위한 공간을 만듭니다.
명확하게 이해하기 위해 예를 들어 보겠습니다. 먼저 문자열 변수를 만들고 일부 데이터로 채웁니다.
String s = "Hey, Muhammad Zeeshan Here! Let's Code!";
그런 다음 write()
함수를 사용하여 문자열을 스트림 작성자에게 보냅니다.
w.write(s);
flush()
기능을 사용하여 즉시 데이터를 스트림으로 보낼 수 있습니다.
w.flush();
마지막으로 close()
함수를 사용하여 스트림을 종료합니다.
close();
완전한 소스 코드:
import java.io.*;
public class Shanii {
public static void main(String[] args) throws Exception {
String s = "Hey, Muhammad Zeeshan Here! Let's Code!";
Writer w = null;
w = new PrintWriter(System.out);
w.write(s);
w.flush();
System.out.println();
w.close();
}
}
출력:
Hey, Muhammad Zeeshan Here! Let's Code!
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn