InputStream을 Reader로 변환
- InputStream을 Reader로 변환하려면 InputStreamReader 보조 스트림을 연결
출처, 이것이 자바다
출처, 이것이 자바다
OutputStream을 Writer로 변환
- OutputStream을 Writer로 변환하려면 OutputStreamWriter 보조 스트림을 연결
출처, 이것이 자바다
출처, 이것이 자바다
package ch18.sec06;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
/*
바이트스트림방식을 문자스트림방식으로 변환하여 작업하는 예제.
- 메인스트림(1차스트림)과 보조스트림(2차스트림)
보조스트림 : 메인스트림에 연결하여, 작업하는 특징. 단독으로 작업할수는 없다.
- 문자변환 스트림 : 바이트스트림을 문자변환스트림으로 변환하는 기능
출력스트림 : OutputStreamWriter
입력스트림 : InputStreamReader
*/
public class CharacterConvertStreamExample {
public static void main(String[] args) throws Exception {
write("문자 변환 스트림을 사용합니다.");
String data = read();
System.out.println(data);
}
public static void write(String str) throws Exception {
OutputStream os = new FileOutputStream("C:/dev/temp/test.txt"); //바이트 출력스트림.
Writer writer = new OutputStreamWriter(os, "UTF-8"); //바이트스트림 -> OutputStreamWriter -> 문자스트림
writer.write(str);
writer.flush();
writer.close();
}
public static String read() throws Exception {
InputStream is = new FileInputStream("C:/dev/temp/test.txt"); //바이트 입력스트림
Reader reader = new InputStreamReader(is, "UTF-8"); //바이트스트림 -> InputStreamReader -> 문자스트림
char[] data = new char[100];
int num = reader.read(data); //읽어온 문자개수
reader.close();
String str = new String(data, 0, num);
return str;
}
}
'데이터 입출력' 카테고리의 다른 글
기본 타입 스트림 (0) | 2023.02.08 |
---|---|
성능 향상 스트림 (0) | 2023.02.08 |
보조 스트림 (0) | 2023.02.08 |
문자 입출력 스트림 (0) | 2023.02.08 |
바이트 입력 스트림 (0) | 2023.02.08 |