반응형
입출력에서 스트림(stream)
1. 고객이 서버로 데이터를 전달하려면 두 대상을 연결하고 데이터를 전송할 수 있는 무언가 필요하다. 이것이 스트림(stream)이다.
2. 스트림이란 데이터를 운반하는 데 사용되는 연결통로라 할 수 있다.
3. stream은 영어로 개울, 시내라는 뜻을 가지고 있는데 물이 흐르는 것과 비슷한 개념이다.
4. 물은 높은 곳에서 낮은 곳으로, 즉 한방향으로 흐른다. Java에서 stream은 이와 유사한 점이 많다.
5. 스트림은 단방향 통신만 가능해서 입력과 출력을 동시에 수행하려면 2개의 스트림 (Input stream, Output stream)가 모두 필요하다.
stream 예제
package Stream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.util.Arrays;
public class Stream1 {
public static void main(String[] args) {
byte[] inSrc = {0,1,2,3,4,5,6,7,8,9}; //10바이트 배열
byte[] outSrc = null;
ByteArrayInputStream input = null;
ByteArrayOutputStream output = null;
input = new ByteArrayInputStream(inSrc);
output = new ByteArrayOutputStream();
int data = 0;
while((data = input.read())!=-1) output.write(data);
outSrc = output.toByteArray(); //스트림 내용을 byte 배열로 반환
System.out.println("Input Source :" + Arrays.toString(inSrc));
System.out.println("Output Source :" + Arrays.toString(outSrc));
}
}
반응형
'Java' 카테고리의 다른 글
세뱃돈 계산기를 만들어보자. ①요구사항 확인 (0) | 2023.09.30 |
---|---|
[Java] 생성자(Constructor)란 무엇인가? (0) | 2023.08.01 |
[Java] Calendar 클래스, getInstance() 메서드 (0) | 2023.07.11 |
[java] 컬렉션 프레임웍 - List, Set, Map (3) | 2023.06.11 |
Object 클래스의 메서드 - equals(), hashCode() (2) | 2023.06.07 |