Notice
Recent Posts
Recent Comments
Link
Everything has an expiration date
175 - Java 자바의 기본 입출력(I/O) : Buffered 관련 실습 - 버퍼 안이 가득차지 않으면 출력하지 않는 write() 메소드 → flush() 를 통해 버퍼에 쌓인 값들을 밀어내줘야 출력한다 본문
[Java]/Program source (java)
175 - Java 자바의 기본 입출력(I/O) : Buffered 관련 실습 - 버퍼 안이 가득차지 않으면 출력하지 않는 write() 메소드 → flush() 를 통해 버퍼에 쌓인 값들을 밀어내줘야 출력한다
Jelly-fish 2023. 9. 25. 17:48/* ========================================
■■■ 자바의 기본 입출력(I/O) ■■■
- Buffered 관련 실습
==========================================*/
public class Test175
{
public static void main(String[] args)
{
// System.out : 자바 기본 출력 스트림
// write() : OutputStream 클래스의 대표적 메소드(→ 바이트 스트림)
// 바이트를 기반으로 처리하다 보니까...
// 버퍼에 차곡차곡 바이트를 채워넣는 작업...
// 버퍼 안이 바이트로 모두 가득 차야 출력을 시작하는 것이다.
// 그렇기 때문에 아까 출력하려 했을 때 출력되지 않았던 것...
System.out.write(65); //─ 'A'
System.out.write(66); //─ 'B'
System.out.write(180); //┐
System.out.write(235); //┘180 + 235 → '대'
//-- 여기까지 수행하면 아무것도 출력되지 않는 상황~!!!
System.out.flush(); // check~!!!
// ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
// 버퍼 안이 모두 가득차지 않았기 때문에 출력 디바이스로 밀어내지 않는다.
// 따라서, flush() 메소드를 통해 지금까지 쌓아 놓은 바이트 데이터를 강제로 밀어내야만
// 입력했던 문자들이 출력될 수 있는 것이다.
// ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
// ※ 출력 버퍼가 채워지지 않으면
// 출력할 데이터(자료)를 출력 디바이스(장치)로 보내지 않기 때문에
// flush() 메소드를 통해 아직 다 채워지지 않은 출력 버퍼의 내용을
// 출력 장치로 밀어내어 보낼 수 있도록 처리해야 한다.
// 즉, 현재 구문에서는 『System.out.flush();』구문을 생략할 수 없다.
//--==>> AB대
}
}