Java

Java_보조스트림, 문자변환 스트림

ssmm95 2024. 10. 21. 17:58

보조스트림 (Filter Stream) 

: 자바의 입출력 스트림에서 기존 스트림에 추가적인 기능을 제공하는 스트림이다 

데이터를 읽거나 쓸 때 , 버퍼링, 형식변환, 데이터 필터링 등 기능을 추가하여 효율적이고 편리한 입출력 작업을한다

다독으로 사용이 불가하고, 기본 스트림에연결하여 사용한다 

 

* 입력스트림->보조스트림-> 프로그램 -> 보조스트림-> 출력스트림

 

입출력 스트림에 보조스트림을 연결하려면 보조 스트림 생설할 때 생성자 매개값으로 입출력 스트림 제공

보조스트림 변수 = new 보조스트림(입출력스트림);
 
바이트스트림인 FileInputStream에 InputStreamReader 보조스트림 연결하는 코드

InputStream is = new FileInputstream("...");
InputStreamReader reader = new InpuutStreamReader(is);

 

보조스트림은 또 다른 보조스트림과 연결되어 스트림체인으로 구성할 수 있다

 

* 주 입력스트림 -> 보조스트림1 -> 보조스트림2-> 프로그램 ->보조스트림2-> 보조스트림1-> 주 출력스트림

 

변환보조스트림인 InputStreamReader에 BufferedReader 보조스트림을 연결하는 코드

InputStream is = new FileStream("...");
InputStreamReader reader = new InputStreamReader (is);
BufferedReader bt = new BufferedReader(reader);

 

보조스트림 기능
InputStreamReader 바이트스트림을 문자스트림으로 변환
BufferdInputStream,BufferdOutputStream,
BufferdReader, BufferedWriter
입출력 성능향상
DataInputStream, DataOutputStream 기본 타입 데이터 입출력
PrintStream, PrintWriter 줄 바꿈 처리 및 형식화된 문자열 출력
ObjectInputStream,ObjectOutputStream 객체 입출력

 

 


 

문자 변환 스트림 

: 바이트스트림(InputStream, OutputStream)에서 입출력할 데이터가 문자라면 문자스트림(Reader, Writer)로 변환해서 사용하는 것이 좋다 

 

InputStreamReader : 바이트 입력 스트림을 문자 입력 스트림으로 변환

InputStream을 Reader로 변환하는 코드

InputStream is = new FileInputStream ("C:/Temp/test.txt");
Reader reader = new InputStreamReader(is)l

 

OutputStreamWriter : 문자출력 스트림을 바이트 출력 스트림으로 변환

OutputStream을 Writer로 변환하는 코드

OutputStream os = new FileOutputStream("C:/Temp/test.txt");
Writer writer = new OutputStreamWriter(os);