[JAVA] 입출력 스트림(자바I/O 스트림)

2022. 2. 13. 13:53·Java
더보기

프로그램은 데이터를 읽고 출력하는 작업을 빈번히 수행한다.

데이터는 키보드를 통해 입력될 수 있고, 파일 또는 네트워크로부터 입력될 수도 있다.

반대로 모니터로 출력될 수도 있고, 파일 또는 네트워크로 출력될 수도 있다.

데이터를 읽고 출력하기 위해 사용되는 입출력 API에 대해 알아보자

 

자바에서 데이터는 스트림(Stream)을 통해 입출력된다.

스트림은 단일 방향으로 연속적으로 흘러가는 것을 말하는데, 데이터는 출발지에서 도착지로 흘러간다.

 

프로그램이 출발지냐 도착지냐에 따라서 사용하는 스트림의 종류가 결정된다.

프로그램이 도착지이면 데이터를 입력받아야 하므로 입력 스트림을 사용한다.

프로그램이 출발지이면 데이터를 출력해야 하므로 출력 스트림을 사용한다.

 

입출력 스트림의 종류

java.io 패키지는 여러 종류의 스트림 클래스르 제공한다.

이들은 크게 두 종류로 구분된다.

 

∙ 바이트 기반 스트림 : 그림, 멀티미디어 등의 바이너리 데이터를 읽고 출력할 때 사용

∙ 문자 기반 스트림 : 문자 데이터를 읽고 출력할 때 사용

 

스트림 클래스가 바이트 기반인지, 문자 기반인지를 구별하려면 최상위 클래스를 보면 된다.

구분 바이트 기반 스트림 문자 기반 스트림
입력 스트림 출력 스트림 입력 스트림 출력 스트림
최상위 클래스 InputStream OutputStream Reader Writer
하위 클래스
(예)
XXXInputStream
(FileInputStream)
XXXOutputStream
(FileOutputStream)
XXXReader
(FileReader)
XXXWriter
(FileWriter)

 

저작자표시 (새창열림)

'Java' 카테고리의 다른 글

[Java] Optional이란?  (0) 2023.09.04
[JAVA] 자바11 설치 / 환경변수 설정 (Window11)  (3) 2023.07.31
[JAVA] throws 키워드 : 예외 떠넘기기  (0) 2022.02.13
[JAVA] 컬렉션 프레임워크: List  (0) 2022.02.06
예외 처리 코드 (try - catch - finally)  (0) 2022.01.27
'Java' 카테고리의 다른 글
  • [Java] Optional이란?
  • [JAVA] 자바11 설치 / 환경변수 설정 (Window11)
  • [JAVA] throws 키워드 : 예외 떠넘기기
  • [JAVA] 컬렉션 프레임워크: List
soyeon26
soyeon26
  • soyeon26
    개발 일지
    soyeon26
  • 전체
    오늘
    어제
    • 분류 전체보기 (86)
      • Web (1)
        • Web (1)
        • HTTP (0)
      • Java (25)
        • JVM (0)
      • Spring (9)
      • AWS (0)
      • Language (4)
        • Java Script (3)
        • Type Srcipt (1)
      • Front (19)
        • HTML+CSS (4)
        • React (15)
      • Back (20)
        • JSP (0)
        • Database (5)
        • NestJS (6)
      • Devops (6)
        • Docker (1)
        • Git & SVN (5)
      • App (7)
        • Android (7)
      • IT 정보 (3)
      • 회고록 (0)
  • 블로그 메뉴

    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    강의 후기
    인프런
    javascript
    java의 정석
    과학기술인 등록
    중복제거
    백엔드
    csr과ssr의 차이
    SQL강의 추천
    Next.js 필요성
    React Next.js
    CSR
    sql강의
    과학기술인 등록번호 발급
    과학기술인 번호 발급
    과학기술인등록번호 조회
    김영한
    React
    Java
    데이터베이스 강의
    Next.js
    프론트엔드
    강의후기
    springboot
    과학기술인번호 조회
    스프링부트
    Spring
    csrvsssr
    자바스크립트set
    SSR
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
soyeon26
[JAVA] 입출력 스트림(자바I/O 스트림)
상단으로

티스토리툴바