Coding Note

[JAVA] Input/Output Stream 알아보기! 본문

JAVA

[JAVA] Input/Output Stream 알아보기!

jinnkim 2022. 2. 10. 17:30

 

 

 

지금까지 CodeUp 문제를 Scanner 클래스를 사용해 풀이해왔다.

타 블로그랑 CodeUp 질문 창을 보니 BufferedReader 입력 스트림을 사용해 풀이하는 연습을 하라고 한다!

왜?ㅋㅋㅋㅋㅋㅋ

그래서 찾아봤다!

 

가장 큰 이유는 속도 차이!

알고리즘 문제를 풀 때 Scanner 클래스를 사용하면 시간 초과 에러를 내는 단점이 있다고 한다.

 

여기서 집고 가자!

 

 

 


 

 

자바의 입출력을 위한 I/O 스트림

 

 

1. 입출력 스트림

   - 자바는 다양한 입출력 장치에 독립적으로 일관성 있는 입출력 스트림을 통해 제공한다.

 

2. 입출력 스트림 구분

   - 대상 기준 : 입력 스트림, 출력 스트림

   - 자료의 종류 : 바이트 스트림, 문자 스트림

   - 기능 : 기반 스트림, 보조 스트림

 

3. 스트림 종류

   1) 입력 스트림

     - 대상으로부터 자료를 읽어들이는 스트림

     - 종류

        : FileInputStream, FileReader, BufferedInputStream, BufferdReader...

   

   2) 출력 스트림

      - 대상으로 자료를 출력하는 스트림

      - 종류

        : FileOutputStream, FileWriter, BufferedOutputStream, BufferdWriter...

 

   3) 성능 향상 보조 스트림

     - BufferedInputStream, BufferdReader, BufferedOutputStream, BufferdWriter
       - 버퍼를 이용한 해결
       - 입출력 소스와 직접 작업하지 않고 메모리 버퍼(buffer)와 작업하므로 실행 성능 향상.
       - 프로그램은 쓰기 속도 향상(고속 읽기)

 

 

 

InputStream/OutputStream - 바이트 단위 입출력을 위한 최상위 입출력 스트림 클래스
InputStreamReader/OutputStreamWriter - 문자 단위 입출력을 위한 하위 스트림 클래스
BufferedReader/BufferedWriter - 바이트 단위 입출력을 위한 스트림 클래스
FileInputStream/FileOutputStream - 바이트 단위 입출력을 위한 스트림 클래스
FileReader/FileWriter - 문자 단위 입출력을 위한 하위 스트림 클래스

 

 

 

 

 

 

'JAVA' 카테고리의 다른 글

컬렉션 프레임워크 요약  (0) 2022.06.24
JAVA - 접근제한자  (0) 2022.04.19
[JAVA] CodeUp 기초 1023~ 1026  (0) 2022.02.10
[JAVA] next(), nextLine() 함수의 차이점  (0) 2022.02.09
[JAVA] SMS 보내기  (0) 2021.12.14
Comments