본문 바로가기
스터디/혼공학습단 10기 - 자바 & 머신러닝

[혼공학습단] 입력스트림 요약 정리 하기

by 찌노오 2023. 8. 20.

 

 

 

 

기본미션

주차 진도 기본 미션
6주차 chapter14 입출력 스트림 요약 정리하여 포스팅 하가

 

Java 입출력 스트림이란?

  • Java에서 입출력 작업을 처리하기 위해 사용되는 개념
  • 입출력 스트림은 데이터를 읽어들이거나 쓰는 데 사용됨
  • 다양한 데이터 소스와 대상으로부터 데이터를 읽고 쓸 수 있음


종류

대표적인 두 가지 유형은 다음과 같다.

 

바이트 스트림(Byte Streams)

  • 바이트 단위로 데이터를 처리하는 스트림.
  • 주로 그림, 음성 등의 이진 데이터를 다룰 때 사용됨
  • InputStream과 OutputStream이라는 기본 추상 클래스(최상위 클래스)를 기반으로 함

하위 클래스
FileInputStream / FileOutputStream: 파일에서 데이터를 읽고 쓸 때 사용

ByteArrayInputStream / ByteArrayOutputStream: 메모리 내 바이트 배열을 읽고 쓸 때 사용
BufferedInputStream / BufferedOutputStream: 버퍼를 사용하여 입출력 성능을 향상시

 

문자 스트림(Character Streams)

문자 단위로 데이터를 처리하는 스트림입니다. 주로 텍스트 파일과 같은 문자 데이터를 다룰 때 사용됩니다. Reader와 Writer라는 기본 추상 클래스를 기반으로 합니다.

 

하위 클래스

FileReader / FileWriter: 파일에서 문자 데이터를 읽고 쓸 때 사용
BufferedReader / BufferedWriter: 버퍼링된 입출력을 지원하여 성능을 향상시킴

InputStreamReader / OutputStreamWriter: 바이트 스트림과 문자 스트림 간의 변환을 지원

 

사용 방법

① 스트림 객체 생성: 해당 스트림 타입의 클래스를 이용하여 객체를 생성한다.
② 데이터 읽기 또는 쓰기: 스트림 메서드를 사용하여 데이터를 읽거나 쓴다.
③ 스트림 닫기: 작업이 끝나면 스트림을 닫아 리소스를 반환한다.

 

try (FileInputStream input = new FileInputStream("input.txt");
     FileOutputStream output = new FileOutputStream("output.txt")) {

    int data;
    while ((data = input.read()) != -1) {
        output.write(data);
    }

} catch (IOException e) {
    e.printStackTrace();
}

// 문자 스트림 사용 예시 (텍스트 파일 읽기)
try (FileReader reader = new FileReader("text.txt");
     BufferedReader bufferedReader = new BufferedReader(reader)) {

    String line;
    while ((line = bufferedReader.readLine()) != null) {
        System.out.println(line);
    }

} catch (IOException e) {
    e.printStackTrace();
}

 


마무리

Java의 입출력 스트림은 다양한 데이터 형식을 처리하는 데 유용한 도구다.

그리고 이러한 다양한 형식의 데이터를 동일한, 일관된 방식으로 처리함으로써 프로그램의 유연성이 향상된다.

그래서 입출력 작업을 수행할 때는 항상 예외 처리와 리소스 관리에 주의해야 한다,

 

 

 

 

 

 

** 사실과 다른 내용이 있을 수 있습니다. 언제든지 피드백 부탁드립니다!

반응형

댓글