자바 입출력과 스트림

CHM·2022년 4월 21일

Java 활용

목록 보기
13/15

스트림

  • 데이터가 이동되는 통로
  • 입력 스트림(input) + 출력 스트림(output) = IO

스트림의 특징

  • FIFO 자료구조
  • 단방향 처리(대표적으로 Queue 구조)
  • 데이터 종류에 따라 바이트/문자 구분(스트림 최상위 추상 클래스)
    • 바이트 단위 : InputStream, OutputStream
    • 문자 단위 : Reader, Writer
  • 직접 객체 생성은 불가하며, 클래스를 상속받는 클래스가 존재

스트림의 흐름

입력 -> 입력 스트림 -> 프로그램 -> 출력 스트림 -> 출력

InputStream 클래스 주요 메서드

  • 입력 스트림은 필요 기능들을 추상 메서드로 정의해 놓았음
  • 주요 메서드
    • int read()
    • int read(byte[] b)
    • int read(byte[] b, int off, int len)
    • void close()

OutputStream 클래스 주요 메서드

  • 주요 메서드
    • void write(int b)
    • void write(byre[] b)
    • void(byte[] b, int off, int len)
    • void flush()
    • void close()

Reader 클래스 주요 메서드

  • 문자 단위로 읽어들인다는 것에서 바이트 단위 스트림과 다르다.
  • 주요 메서드
    • int read()
    • int read(char[] b)
    • int read(char[] b, int off, int len)
    • void close()

Writer 클래스 주요 메서드

  • 주요 메서드
    • void write(int c)
    • void write(char[] c)
    • void(char[] c, int off, int len)
    • write(String s)
    • write(String s, int off, int len)
    • void flush()
    • void close()

0개의 댓글