본문 바로가기

Java/java

[Java] 스트립입출력(Stream I/O)

반응형

스트림이란 ?

연속적인 데이터의 흐름 또는 데이터를 전송하는 소프트웨어 모듈을 일컫는다.

컴퓨터에서 스트림은 도착한 순서대로 데이터를 흘러 보낸다.

 

입출력 스트림 이란?

자바에서 입출력 스트림은 응용프로그램과 입출력 장치를 연결하는 소프트웨어 모듈이다.

자바 응용프로그램은 입출력 장치를 직접 제어하지 않고 입출력 스트림객체와 연결하여 데이터 입출력을 실시한다. 

 

입력장치------------->입력 스트림----------------->

                                                                자바 응용 프로그램

출력장치<--------------출력 스트림<-----------------

 

 

스트림 특징

  • 자바 응용프로그램은 입력 스트림, 출력 스트림과만 연결하고, 입출력 스트림이 입출력 장치를 제어하고 실질적인 입출력을 담당한다.
  • 스트림은 단방향이다.(입력과 출력 두가지 기능을 가진 스트림은 없다.)
  • 스트림을 통하는 데이터의 기본단위는 바이트 또는 문자이다.
  • 스트림은 FIFO(First in first out)구조이다.

스트림 연결

 

 InputStreamReader rd = new InputStreamReader(System.in);

 

 System.in은 사용자의 키 입력을 바이트로 받아오는 스트림이다. 이 스트림을 InputStreamReader(System.in)에 연결하여 rd는 바이트 스트림을 문자로 구성하여 응용 프로그램에 전달한다.

 

사용자는 rd.read(); 등을 통해서 입력값을 받을 수 있다.

 

스트림을 이용하는 작업을 모두 마치면 스트림을 close(); 해주어야 자원이 낭비되지 않을 수 있다.

 

반응형

'Java > java' 카테고리의 다른 글

[Java] static  (0) 2020.07.08
[Java] 버퍼 입출력(Buffer I/O)  (0) 2020.07.08