[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)
  • 블로그 메뉴

    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바