Java프로그래밍 9강 - java.io 패키지와 스트림 이번 강의에서는 Java 프로그램이 파일, 키보드, 화면과 데이터를 주고받는 통로인 스트림을 학습한다. 바이트 스트림과 캐릭터 스트림, 기본 스트림과 보조 스트림의 차이를 이해하고, 파일·콘솔 입출력에 필요한 java.io 클래스와 주요 메소드를 코드에 적용한다. 제1장 입출력 스트림의 개념 1. 스트림이란 무엇인가 Java 프로그램은 스트림을 통해 입출력을 수행한다. 입력 스트림은 데이터 생산자인 소스와 프로그램을 연결하고, 출력 스트림은 프로그램과 데이터 소비자인 목적지를 연결한다. 파일, 키보드, 화면, 메모리처럼 데이터의 출발지와 도착지가 달라도 스트림을 사용하면 유사한 방식으로 프로그램을 작성할 수 있다. 스트림은 데이터 생산자 또는 소비자와 프로그램 사이에서 데이터가 흐르는 통로이다. 데이터는 수도관을 따라 흐르듯이 정해진 한 방향으로 전달되며 순차적으로 접근한다. 따라서 입력과 출력에는 서로 다른 스트림이 필요하다. 핵심: 입력 스트림은 외부 데이터를 프로그램으로 읽어 오며 데이터 소스가 지정되어야 한다. 출력 스트림은 프로그램의 데이터를 외부로 내보내며 데이터 목적지가 지정되어야 한다. 2. 처리 단위에 따른 분류 스트림은 처리하는 데이터 단위에 따라 바이트 스트림과 캐릭터 스트림으로 나뉜다. 바이트 스트림은 byte 단위로 데이터를 처리하며 클래스 이름이 주로 InputStream 또는 OutputStream 으로 끝난다. 캐릭터 스트림은 char 단위로 문자를 처리하며 클래스 이름이 주로 Reader 또는 Writer 로 끝난다. 구분 입력 계열 출력 계열 처리 단위 바이트 스트림 InputStream OutputStream byte 캐릭터 스트림 Rea...