[Java] 표준입출력과 스트림(Stream)

정진수·2022년 8월 4일
0

노드

입력과 출력의 끝단 ex) 키보드, 마우스, 모니터, 파일 등등...

스트림(Stream)

두 Node를 연결하고 데이터를 전송할 수 있는 개념

  • 단방향으로만 통신이 가능하며 하나의 스트림으로 입력과 출력을 같이 처리할 수 없다.

Node 스트림

노드에서 입력이나 출력이 발생하면 통신하고 있는 대상에게 스트림으로 전송
입력 스트림 : InputStream(byte), Reader(char)
출력 스트림 : OutputStream(byte), Writer(char)

  • 괄호안에 있는 데이터 타입에 따라 쓰이는 Stream이 달라짐
  • 노드의 형태에 따라 Stream이 달라짐
    ex) 노드가 file이고 file의 데이터 타입이 byte일 때 FileInputStream, OutputStream을 사용

보조 스트림

다른 스트림에 부가적인 기능을 제공해주는 스트림.

  • 특징
    String Chaining : 보조 스트림의 특징. 필요에 따라 여러 스트림을 연결해서 사용
  • 기능
    1) 문자 Set 변환 : byte스트림을 char스트림으로 변환
    (InputStreamReader, OutputStreamReader)
    2) Buffering : 버퍼링을 통한 속도 향상
    (byte : BufferedInputStream, BufferedOutputStream)
    (char : BufferedReader, BufferedWriter)
    3) 객체 입출력 : 객체 전송
    (ObjectInputStream, ObjectOutputStream)
profile
소통능력을 겸비한 자바 백엔드 개발자

0개의 댓글