티스토리 뷰
스트림(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)
사용자가 지정한 규칙에 따라 문자열을 읽어들여서 특정한 파싱을 가능하게 한다.
댓글