본문 바로가기

Java Programming

Stream이란 무엇인가??

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Agile Java 스터디 레슨 10. 입출력(IO) 을 예습하면서 엄청난 애로사항이 많았다. 사실 그 전부터 스트림이라는 이야기를 여려번 들어왔는데.. 아 -_- 진짜 욕나오는 부분이었다. 스트림이 뭐길래 자꾸 스트림 스트림 거리는건지 원.. 꼼꼼이 책을 읽어보니 스트림은 데이터의 흐름을 이야기 한다고?? 죽을래여??? 한줄도 아니고 한줄의 반정도로 간략하게 설명해 놓고 뭘 이해하라는건지 어이가 없어서 위키피디아 님을 찾아 갔는데 -_-;;

Stream을 달라고 했더니 왠 시냇물이 졸졸 흐르고 난리를 쳐서 -_-;;; Java Tutorial을 보면.. 길지는 않지만 그림과 함께 아름답게 설명이 되어있었습니다 ㅠㅠ 아래 링크를 해놓았습니다. 제 글보다는 아래로 가서 보시는편이 나을 겁니다 ^^;;



An I/O Stream represents an input source or an output destination. A stream can represent many different kinds of sources and destinations, including disk files, devices, other programs, and memory arrays.

Streams support many different kinds of data, including simple bytes, primitive data types, localized characters, and objects. Some streams simply pass on data; others manipulate and transform the data in useful ways.

No matter how they work internally, all streams present the same simple model to programs that use them: A stream is a sequence of data. A program uses an input stream to read data from a source, one item at a time:

입/출력은 소스를 제공하는 입력이나 목적지로의 출력을 의미합니다. 스트림은 디스크 파일이나, 장치, 다른 프로그램들, 그리고 메모리 배열들과 같은 많은 종류의 소스들과 목적지들을 표시 할 수 있습니다.

스트림은 간단한 바이트나 primitive 데이터 타입, 글자들의 모음과 객체들과 같은 많은 종류의 다른 데이터를 지원합니다. 어떤 스트림들은 단순히 데이터를 넘겨주는 역할만 합니다. 또 다른 스트림들은 유용한 방법들로 데이터를 변형하고 가공합니다.

내부적으로 어떻게 스트림들이 작동하는지는 중요하지 않습니다, 모든 스트림들은 같은 단순한 모델을 스트림을 사용하는 프로그램으로 표시합니다.(몬소리야;;) 스트림은 데이터들의 연속입니다. 프로그램은 input stream을 사용하여 한개의 데이터를 동시에 소스로 부터 읽어들입니다.