본문 바로가기
  • Adillete
【축 완독】/[코딩자율학습단11기]『코딩자율학습 자바입문』

[코딩자율학습단11기] 18일차 p.337-350

by 아딜렛 2024. 12. 20.

1. 스트림

스트림: 프로그램 데이터를 주고 받기 위해 사용하는 개념(가상통로)

입력 스트림: 키보드 입력, 파일, 네트워크 소켓(네트워크랑 컴퓨터 연결)

출력스트림: 파일로 데이터 저장, 네트워크 소켓으로 데이터 저장

버퍼: 데이터를 일시적으로 저장하는 메모리 영역

-(데이터는 스트림을 통해 한번에 하나씩 전송된다)

2. 스트림의 종류

1) 바이트 스트림

     (1) 바이트 스트림: 데이터를 1바이트(8비트)단위로 처리

     (2) 바이너리 데이터: 0과 1로 표현된 데이터

            ①InputStream:  프로그램 외부에서 데이터를 바이트 단위로 읽어옴 추상클래서여서 직접 객체 생성은 불가, 하위 클래스로 구체적 기능구현 가능

                    - FileInputStream: 파일에서 바이트 단위로 데이터 읽어옴

                    -ByteArrayInputStream: 메모리에 있는 바이트 배열에서 데이터 읽어올때

                    -BufferedInputStream: 보조 스트림클래스 , 바이트 스트림에 버퍼링 기능을 제공,

                        FileInputStream을 상속받음

 

            ②OutputStream:  바이트 출력 스트림을 처리하기 위한 추상클래스, 프로그램 외부로 데이터를 바이트 단위로 내보냄

                     -FileOutputStream: 파일에 바이트 데이터를 쓸때

                    -ByteArrayOutputStream: 메모리에 있는 바이트 배열에 데이터 사용

                    -BufferedOutputStream: 버퍼를 사용해 데이터를 효율적으로 ㅡㅆㄹ수 있음

2) 문자 스트림

        (1) 문자스트림: 2바이트 유니코드 문자단위로 데이터를 처리

        (2) Reader 클래스

             ①FileReader: 파일에서 문자단위로 데이터를 읽어옴

             ②BufferedReader: 문자를 효율적으로 읽을 수 있는 버퍼링 기능 제공

             ③InputStreamReader: 바이트 스트림을 문자 스트림으로 변환 주로 키보드 입력이나 네트워크 소켓으로 들어온 데이터 읽음

             ④StringReader: 문자열에서 문자 읽을때 사용

        (3) Writer 클래스: 문자 데이터를 외부로 출력

              ①FileWriter: 파일에 문자 데이터를 쓸때

              ②BufferedWriter: 버퍼링을 사용해 문자 효율적으로 쓴다.

              ③OutputStreamWriter: 문자 →바이트 스트림으로 변환

              ④StringWriter: 문자열 데이터를 메모리의 버퍼에 사용

              ⑤PrintWriter: 다양한 자료형의 데이터를 문자로 변환