ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (6주차 37일) IO 스트림
    수업 내용 정리 2024. 6. 17. 17:34

    Java

    IO(Input/Output)

    > 입출력(IO)

    • 컴퓨터 내부 또는 외부 장치와 프로그램 간의 데이터를 주고받는 것
      1. 입력: 키보드, 파일 또는 네트워크로부터 데이터 입력
      2. 출력: 모니터, 파일 또는 네트워크로 출력

    > 스트림

    • 자바에서 스트림은 입출력 장치에 데이터를 읽고 쓰기 위해서 제공하는 클래스
      • InputStream
        • 바이트 기반 입력 스트림의 최상위 클래스로, 추상 클래스이다.
        • 그림, 멀티미디어, 문자 등 모든 데이터를 입력받을 수 있다.
        • read() 추상 메소드: 외부 장치로부터 바이트 단위의 데이터를 읽어올 수 있다.
        • close() 추상 메소드: 사용한 시스템 자원 반납 후 입력 스트림을 닫는다.

             2. OutputStream

        • 바이트 기반 출력 스트림의 최상위 클래스로 추상 클래스이다.
        • 그림, 멀티미디어, 문자 등 모든 데이터를 출력할 수 있다.
        • write() 추상 메소드: 바이트 단위의 데이터를 외부 장치에 기록할 수 있다.
        • flush(): 버퍼에 잔류하는 모든 바이트를 출력한다.
        • close(): 사용한 시스템 자원 반납 후 출력 스트림을 닫는다.

             3. Reader

        • 문자 기반 입력 스트림의 최상위 클래스로 추상 클래스이다.
        • 문자 데이터만 입력받을 수 있다.
        • read(), close()

             4. Writer

        • 문자 기반 출력 스트림의 최상위 클래스로 추상 클래스이다.
        • 문자 데이터만 출력할 수 있다.
        • write(), flush(), close()

    > 보조 스트림

    1. 기반 스트림(InputStream, OutputStream, Reader, Writer)의 기능을 향상시키거나 새로운 기능을 추가하기 위해 사용
    2. 실제 데이터를 주고받는 스트림이 아니기 때문에 입출력 처리가 불가능하다.
    3. 반드시 기반 스트림(InputStream, OutputStream, Reader, Writer)을 먼저 생성한 후 이를 이용하여 보조 스트림 생성해야 한다.
      1. 문자 변환 보조 스트림
      2. 성능 향상 보조 스트림
      3. 기본 타입 입출력 보조 스트림
      4. 객체 입출력 보조 스트림