Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

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대



	}
}