티스토리 뷰

프로그래밍

stream

앙망 2011. 3. 10. 13:18

스트림(stream)

  • 데이터를 바이트 단위로 순차적으로 입출력하는 흐름
  • 시작점(source)종료점(sink)를 가지고 있다.
    =>
  • 흐르는 방향은 생성 시점에서 단일 방향으로 고정
  • 파일 입출력의 기본

자바 스트림

자바 언어는 모든 파일을 순차적인 바이트의 배열, 즉 InputStream, OutputStream 클래스로 제공되는 스트림으로 처리한다.

■ 스트림 종류

  • 입력스트림 : 시작점을 생성자의 인자값
  • 출력스트림 : 종료점을 생정자의 인자값
  • 필터스트림 : 스트림을 가공, 버퍼, 반환형, 라인, 데이터 등

■ 입출력 클래스의 계층구조

참조(http://download.oracle.com/javase/6/docs/api/java/io/package-tree.html)

자바 표준 스트림(Standart Java Stream

  • 표준 출력 : System.out
  • 표준 입력 : System.in
  • 표준 오류 출력 : System.err

자바 입출력 방식

  • 바이너리 입출력
  • 문자 입출력
  • 기본 데이터형 입출력
  • 객체 입출력
  • 스트림 토큰화

■ 바이너리 입출력( Binary I/O)

저수준의 기본 입출력

입출력 속도를 높이기 위해 버퍼 입출력 스트림을 이용할 수 있다.

■ 문자 입출력(Character I/O)

컨버터를 포함한 Reader, Writer 계열의 클래스

버퍼입출력 (BufferedReader, BufferedWriter) 를 가지고 있다.

컨버터란?
바이너리 입출력에 유니코드와 지역코드로 변경하여 문자를 입출력할 수 있게 해주는 것

■ 기본 데이터형 입출력(Primitive I/O)

바이너리 입출력을 통해서 기본 데이터형인 byte, char, short, int double, float, logn 등을 데이터를 1:1로 대응하여 입출력하는 것

데이터 자체를 저장하고 복원하는데 사용

■ 객체 입출력(Object I/O)

객체를 바이트 단위로 입출력 하는 것

객체 직렬화를 통해 객체를 바이트 단위로 만든다.

■ 스트림 토큰화(StreamTokenizing)

사용자가 지정한 규칙에 따라 문자열을 읽어들여서 특정한 파싱을 가능하게 한다.

댓글