Java 입출력 스트림에 관하여

Leehobin·2024년 2월 15일
0

Java

목록 보기
3/3
post-thumbnail

자바는 입출력 스트림을 통해 파일 입출력이 가능하다. 이를 이번 포스팅을 통해 간단하게 정리하고자 한다.

입력 스트림(InputStream) 과 출력 스트림 (OutputStream)

자바는 데이터의 입출력을 스트림이라는 개념을 통해 수행한다. Java 8때 도입된 스트림 기능과는 별개다. 여기서 말하는 스트림은 입력 스트림과 출력 스트림에 대한 내용이다.

자바의 입력 스트림(IOStream)

데이터의 입출력은 방향성이 존재한다.

소스(Source)에서 생성된 데이터는 타겟(Target)으로 흘러들어간다. 물이 상류에서 하류로 흘러가듯이 데이터 스트림은 소스에서 타겟으로 흘러간다. 키보드로 데이터를 입력하는 경우 소스는 키보드가 될 것이고 타겟은 입력을 받는 프로그램이 될 것이다. 파일을 열어서 데이터를 읽는 다면 소스는 파일이 될 것이고 타켓은 파일 데이터를 읽는 프로그램이 될 것이다. 네트워크 통신이라면 소스와 타겟 모두 프로그램이 된다.

입력 스트림(InputStream)은 프로그램에서 데이터를 읽어 들이기 위한 스트림이다. 즉 타겟이 현재 작성중인 스트림이다. 출력 스트림은(OutputStream)은 프로그램에서 데이터를 쓰기 위한 스트림이다. 즉 소스가 현재 작성중인 스트림이다.

네트워크 프로그램의 경우 두 개의 프로그램이 데이터를 주고 받는다. 하나의 프로그램에서 다른 프로그램으로 데이터를 쓰는 경우 이 스트림은 소스 프로그램에서는 OutputStream 이고 데이터를 받는 쪽에서는 InputStream 이다.

java.io 패캐지

자바는 기본적인 데이터의 입출력을 지원하기 위해 java.io 패키지를 제공한다. java.io 패키지에 구현되어 있는 클래스들을 이용해서 다양한 스트림 기반 입출력을 실행할 수 있다.

InputStream 과 OutputStream

profile
기록하는 사람

0개의 댓글