본문 바로가기
JAVA

[JAVA]자바 IO (1)

by B_E_D 2023. 2. 11.

[31] 자바 IO (1)

31.1. 입출력 스트림

  • 네트워크에서 자료의 흐름이 물의 흐름과 같다는 비유에서 스트림 용어가 사용됨.
  • 다양한 입출력 장치에 독립적으로 일관성 있는 입출력을 할 수 있도록 입출력 스트림을 제공함.
    • 파일 디스크, 키보드, 마우스, 네트웩, 메모리 등

31.2. 입출력 스트림의 구분

  • 대상 기준 : 입력 스트림 / 출력 스트림
  • 자료의 종류 : 바이트 스트림 / 문자 스트림
  • 기능 : 기반 스트림 / 보조 스트림

31.3. 입력 스트림 / 출력 스트림

  • 입력 스트림 : 대상으로부터 자료를 읽어 들이는 스트림
    • FileInputStream, FileReader, BufferedInputStream, BufferedReader
  • 출력 스트림 : 대상으로 자료를 출력하는 스트림
    • FileOutputStream, FileWriter, BufferedOutputStream, BufferedWriter

31.4. 바이트 단위 스트림 / 문자 단위 스트림

  • 바이트 단위 스트림
    • 동영상, 음악 파일, 이미지, 실행 파일 등의 자료를 읽고 쓸때 사용
    • FileInputStream, FileOutputStream, BufferedInputStream, BufferedOutputStream
  • 문자 단위 스트림
    • 바이트 단위로 자료를 처리하면 문자는 깨짐.
    • 인코딩에 맞게 2바이트 이상으로 처리하도록 구현된 스트림
      • FileReader, FileWriter, BufferedReader, BufferedWriter

31.5. 표준 입출력 스트림

  • System 클래스 멤버로 제공
    • System.out
      • 표준 출력(모니터) 스트림
        System.out.println();
    • System.in
      • 표준 입력(키보드) 스트림
        System.in.read();
    • System.err
      • 표준 에러 출력(모니터) 스트림
        System.err.println();

'JAVA' 카테고리의 다른 글

[JAVA]스레드  (0) 2023.02.12
[JAVA]자바 IO (2)  (0) 2023.02.11
[JAVA]예외처리  (0) 2023.02.10
[JAVA]스트림  (0) 2023.02.10
[JAVA]함수형 프로그래밍 (2)  (0) 2023.02.09

댓글