-
[JAVA] IO Stream (1)프로그래밍/JAVA 2015. 7. 8. 15:20반응형
Stream
- Data를 목적지로 input/output하기 위한 방법
- Stream에 데이터를 쓸수도 있고 읽을수도있다.
- Stream에 데이터를 쓸경우 output stream이라 한다.
- Stream에 데이터를 읽을 경우 input stream이라한다.
Stream의 특징
- Stream은 FIFO구조
- 단방향, 읽기, 쓰기가 동시에 되지않음
- 지연될수 있음.
File class : 시스템에 있는 파일이나 디렉토리를 추상화한 클래스, 이를 이용하여 파일의 크기, 생성, 삭제, 변경 및 마지막 수정날짜 등 다양한 정보를 알수 있는 메소드를 제공한다.
Byte Stream
- 1바이트를 input/output할 수 있는 스트림이다.
- 일반적으로 바이트로 구성된 파일(동영상, 이미지 음악)파일을 처리하기에 적합한 스트림
- InputStream과 OutputStream으로 구성
- OutputStream , FileOutputStream, ObjectOutputStream, dataOutputStream, BufferedOutputStream 중요
BufferInputStream
- 버퍼링은 Input/Output수행을 향상시킨 기술
- 버퍼링이란 논리적 데이터 덩어리들이 하나의 큰 물리적 Input연산으로서 파일로 읽혀서 버퍼로 Input하는것을 말함
- 버퍼링을 이용하면 데이터를 읽어서 버퍼를 꽉채우고 연속된 read(0 method호출의 경우 메모리 버퍼로부터 데이터를 읽어내는것이므로 훨씬 효율적
- mark기능과 reset기능을 구현 추가로 구현
PrintStream
- 다른 스트림과는 다르게 flush기능을 자동으로 처리할 수 있는 Constructor를 가지고있다.
- 모두 method의 예외처리를 하지않음.
Character Stream
- Byte Stream에 추가하여 Reader와 Writer class를 ㅈ공하는데 2Byte를 Input/Output 할 수 있는데 이를 Cahracter 기반 Stream이라함
- Byte Stream은 1Byte를 Input/Output하기 때문에 일반적으로 영문자로 구성된 파일, 동영상, 음악등의 파일에 적합한 Stream
- Character Stream은 2바이트로 Input/Output하므로 세계 모든 언어로 구성된 파일을 Input/Output하기에 적합
Character Stream의 구조
- Reader, Writer
- Input Stream : Reader
- Output Stream : Writer
PrinterWriter
- 1바이트나 2바이트 관련없이 출력할때 사용
Object의 직렬화
- 객체의 직렬하란 객체를 Stream으로 파일에 저장하는 방법
- 객체를 직렬화하기 위한 두가지 방법으로 Serializable, Externalizable Interface구현하면된다.
반응형'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] 객체지향 프로그래밍(3) (0) 2015.07.28 [JSP] JSP 기본 (1) (0) 2015.07.13 [JAVA] 객체지향 프로그래밍 (2) (0) 2015.07.08 [JAVA] 객체지향언어 : 클래스와 객체 (1) (0) 2015.07.07 [JAVA] 배열의 종류 및 활용 (0) 2015.07.06