ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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구현하면된다.

    반응형

    댓글

Designed by Tistory.