본문 바로가기

공부/자바

stream과 Reader&Writer

반응형

1.스트림이란 ?   흔히 `데이터의 흐름`이라고 합니다.

 

말 그대로 데이터가 필요한 쪽으로 데이터를 보내는 것입니다.

 

보통 집에서 생각하는 수도를 생각해보죠.  

 

저수장 ----->  물탱크 ------> 수도꼭지

 

-장치(Device) ---->Buffer ----> Data

 

*여기서 "---->" 이 부분이 스트림입니다.

 

- 정의 : 장치로부터 데이터를 읽거나 기록할 때 사용하는 중간 매개체이다.

 

- 역할 : 스트림은 데이터를 읽고 쓰기 위한 공통된 방법을 제공

 

- 장치와 스트림 : 장치마다 연결할 수 있는 각각의 스트림이 존재

 

2. Reader란 ?  (말 그대로 저장된 내용을 읽어들이는 부분이죠)

 

* FileReader
 : FileReader 클래스는 파일에 저장된 바이트를 유니코드 문자로 변환하여 읽어 들인다.
    즉, FileReader 클래스는 파일에 저장된 문자열을 읽어 들이는데 사용된다.
    이 클래스는 InputStreamReader 클래스를 상속한 것으로, 바이트 스트림을 읽어
    그 바이트를 유니코드 문자를 나타내는 정수 타입의 값으로 변환하여 준다.
 
- 생성자
ㅁ FileReader(File file): 주어진 File 객체를 이용하여 FileReader 객체를 생성.
ㅁ FileReader(FileDescriptor fd): 주어진 FileDescriptor객체를 이용하여 FileReader 객체를 생성.
ㅁ FileReader(String fileName): 주어진 파일을 열어 FileReader 객체를 생성.

 

3. Writer란 ?  ( 역시 몬가를 쓴다. 기록한다는 말입니다, 즉 파일에 저장한다는 말이죠)

 

* FileWriter

 :FileWriter 클래스는 출력할 유니코드 문자를 디폴트 문자 인코딩의 바이트로 변환하여 파일에 저장하고자 할     경 우에 사용한다. 이 클래스는 OutputStreamWriter 클래스의 서브 클래스로 유니코드를 바이트로 변환하는 기능을 수행한다. FileOutputStream 클래스와 마찬가지로 파일명이나 File 클래스의 객체를 인수로 넘겨줌으로 시스템에 파일을 직접 생성하게 되는데, 기본적으로, 파일이 이미 존재한다면 그 파일을 덮어쓰게 된다.

 

  - 생성자

ㅁ FileWriter (File file): 주어진 File 객체를 이용하여 FileWriter 객체를 생성.

ㅁ FileWriter (FileDescriptor fd): 주어진 FileDescriptor객체를 이용하여 FileWriter 객체를 생성.

ㅁ FileWriter (String fileName): 주어진 파일을 열어 FileWriter 객체를 생성.

ㅁ FileWriter(String fileName, boolean append): 주어진 파일을 append 값에 따라 읽기/추가 모드로 열어 FileWriter 객체를 생성.


그냥 binary data를 읽거나 쓰려면 InputStream, OutputStream,

문자 data (텍스트파일 같은..)를 읽고 쓰려면 Reader, Writer를 씁니다^^

반응형