[Java] 스트림(stream) 1

Updated:

Java SE 8 버전부터 추가된 스트림 API는 앞서 설명한 스트림과는 전혀 다른 개념

실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름

스트림(stream)란?


  • 스트림은 운영체제에 의해 생성되는 가상의 연결 고리를 의미하며, 중간 매개자 역할
  • 자바에서는 파일이나 콘솔의 입출력을 스트림(stream)을 통해 사용

01

입출력 스트림


  • 스트림은 단방향 통신이므로 입출력을 동시에 처리 불가
  • 입력스트림, 출력스트림으로 구분
  • java.io 패키지
    • InputStream과 OutputStream 클래스
  • 스트림 생성 : 스트림 클래스 타입의 인스턴스를 생성한다는 의미

입출력 스트림 함수


  • 추상메소드
    • InputStream - read()
      • 해당 입력 스트림에서 더 이상 읽어들일 바이트가 없으면 -1을 반환
      • byte 타입은 -1을 표현할 수 없으므로 반환 타입이 int형을 반환
    • OutputStream - write()
클래스 메소드 설명
InputStream abstract int read() 해당 입력 스트림으로부터 다음 바이트를 읽어들임.
  int read(byte[] b) 해당 입력 스트림으로부터 특정 바이트를 읽어들인 후, 배열 b에 저장함.
  int read(byte[] b, int off, int len) 해당 입력 스트림으로부터 len 바이트를 읽어들인 후, 배열 b[off]부터 저장함.
OutputStream abstract void write(int b) 해당 출력 스트림에 특정 바이트를 저장함.
  void write(byte[] b) 배열 b의 특정 바이트를 배열 b의 길이만큼 해당 출력 스트림에 저장함.
  void write(byte[] b, int off, int len) 배열 b[off]부터 len 바이트를 해당 출력 스트림에 저장함.

참고


  • 자바의 정석
  • https://www.daleseo.com/java8-local-date-time/
  • [강의](https://www.tcpschool.com/java]

Tags:

Categories:

Updated:

Leave a comment