프로그래밍 정리/자바

스트림(Stream)이란?

주누다 2013. 6. 17. 18:59
반응형

- 스트림(Stream)이란 장치(Device - 하드웨어 장치)로부터 데이터를 읽거나 기록할 때 사용하는 중간 매개체 역할을 하는 놈.

-> 입출력 장치의 일반적인 특징

=> 일반적인 입출력 장치는 대부분 데이터를 읽고 기록한다는 특징이 있음.


- 어떠한 입출력 장치든 데이터를 읽고 쓰는 작업은 반드시 필요로 함. 입출력 데이터를 처리하기 위한 공통된 방법이란 바로 읽기와 쓰깅 대한 공통된 방법을 말함. 즉, 다양한 장치에 존재하는 데이터를 읽고 쓰기 위한 공통된 방법을 스트림이 제공하는 것.


- 스트림의 역할

-> 스트림은 데이터를 읽고 쓰기 위한 공통된 방법을 제공


- 원하는 장치에 스트림을 어떻게 개설하느냐가 문제지 스트림을 통해서 읽고 쓰는 것은 공통된 방법이기에 문제가 되지 않음.

목표지점이 주어지면 해당 목표지점에 스트림을 개설한 후 데이터를 읽고 쓰는 작업을 하면 되는 것.

 목표지점이 다양하기 때문에 어떻게 해당 장치(Device)에 스트림을 개설할 것인가의 문제. 연결만 되고 나면 그 다음부터는 스트림을 통해서 읽거나 기록하는 문제.


- 장치(Device)와 스트림(Stream)

-> 장치마다 연결할 수 있는 각각의 스트림이 존재

-> 자바에서는 다양한 장치에 연결하기 위해서 많은 스트림을 제공. 


- 파일 스트림 연결

-> FileInputStream fis = new FileInputStream(파일);

-> FileOutputStream fos = new FileOutputStream(파일);

-> 파일 스트림을 생성하는 것은 하드디스크의 특정 위치에 존재하는 파일에 스트림을 생성하는 것.

-> 물리적인 장치는 FileInputStream과 FileOutputStream을 만들 때 스트림 차원에서 자동으로 처리


- 스트림에서 사용할 수 있는 메서드는 두 계열밖에 없다고 해도 과언이 아님. read()계열과 write()계열.


- File 입력 스트림의 연결과 작업

-> FileInputStream fis = new FileInputStream(파일);

-> // fis.read()을 이용해서 데이터 읽기


- File 출력 스트림의 연결과 작업

-> FileOutputStream fos = new FileOutputStream(파일);

-> // fos.write()를 이용해서 데이터 쓰기


- 스트림(Stream)은 데이터를 읽고 쓰는 것을 도와주는 아주 훌륭한 도구.하드웨어 장치를 몰라도 할건 다 하고 있는 것. 이것을 가능하게 해 주는 것이 바로 스트림. 스트림이라는 것을 이용해서 미리 장치에 연결할 수 있는 방법을 만들어 둔 것.





반응형

'프로그래밍 정리 > 자바' 카테고리의 다른 글

스트림의 종류  (0) 2013.06.18
스트림의 원리  (0) 2013.06.18
Java Stream(자바 스트림)  (0) 2013.06.17
synchronized의 한계  (0) 2013.06.17
synchronized의 활용  (0) 2013.06.17