본문 바로가기
Java

JAVA Input & Output

by titlejjk 2023. 5. 11.

Java 에서 Input 과 Output 은 즉 입력과 출력이다.

스트림(Stream)은 데이터를 운반하는데 사용되는 연결 통로이다. 이름에서 알 수 있듯이 연속적인 데이터의 흐름을 물에 비유해서 붙여졌다. 스트림은 단방향 통신만 가능하기 때문에 하나의 스트림으로 입력과 출력을 동시에 처리할 수 없다. 따라서 입력을 위한 입력스트림(input stream)과 출력을 위한 출력스트림(output stream)이 필요하다.

 

입력과 출력을 총칭하는 용어로는 I/O(Input/Output)가 있고 이는 컴퓨터 내부 또는 외부의 장치와 프로그램 간의 데이터를 주고받는 것을 말한다.

 

Java에서는 InputStream과 OutputStream이라는 추상 클래스를 제공하는데 이 두 클래스는 바이트 단위로 데이터를 전송한다.

FileInputStream클래스는 InputStream 클래스로부터 상속된 클래스로서 파일로 부터 입력받을 수 있는 기능을 제공한다.

 

바이트 스트림에서는 InputStream / OutputStream이 조상이라면 문자 스트림에서는 Reader와 Writer가 그와 같은 역할을 한다.

문자 스트림에서는 문자 데이터를 다루는 필요한 인코딩(Encoding)이 중요한데, 문자 스트림은 여러 종류의 인코딩과 자바에서 사용하는 유니코드간의 변환을 자동으로 처리해 준다.

 

java.io 패키지를 통해 많은 종류의 입출력 관련 클래스들을 제공하는데 입출력을 처리할 수 있는 표준화된 방법을 제공함으로써 입출력의 대상이 달라져도 동일한 방법으로 입출력이 가능하다.

 

스트림으로부터 입력된 전체 데이터를 별도로 저장하지 않으면, 입력된 데이터의 위치를 이동해 가면서 자유롭게 이용할 수 없다. 이를 위해서는 스트림에서 읽은 데이터를 즉시 처리해야 한다.

 

 

'Java' 카테고리의 다른 글

JAVA DTO  (0) 2023.05.15
JAVA JDBC  (0) 2023.05.15
JAVA Thread와 Runnable 의 차이  (0) 2023.05.11
JAVA Thread  (1) 2023.05.11
JAVA Exception  (0) 2023.05.10

댓글