Notice
Recent Posts
Recent Comments
Link
판봉 개발 일기
문자 변환 보조 스트림 본문
728x90
소스 스트림이 바이트 기반 스트림(ex-InputStream, OutputStream, FileInputStream, FileOutputStream)이면서
입출력 데이터가 만약에 문자라면 앞장에서 살펴본 것과 같이 Reader와 Writer로 변환해서 사용할 수 있습니다.
왜냐하면 문자 입출력은 Reader와 Writer가 편리하기 때문입니다.
OutputStreamWriter
OutputStreamWriter은 바이트 기반 출력 스트림에 연결되고 문자 출력 스트림인 Writer로 변환보조하는 스트림입니다.
Writer writer = new OutputStreamWriter(바이트 기반 출력 스트림);
파일 출력을 위한 바이트 기반 스트림은 다음처럼 바꿀수있습니다.
FileOutputStream fos = new FileOutputStream("C:/Temp/test1.txt");
Writer writer = new OutputStreamWriter(fos);
InputStreamReader
InputStreamReader 는 바이트 기반 입력 스트림에 연결되며, 문자 입력 스트림은 Reader로 변환 보조 합니다.
※까먹었을까봐 쓰지만 Writer은 출력스트림이고 Reader는 입력 스트림입니다.
Reader reader = new InputStreamReader(바이트 기반 입력 스트림);
바이트 기반 스트림을 문자 입력스트림타입인 Reader로 변활 할 수도 있습니다.
FileInputStream fis = new FileInputStream("C:/Temp/teset1.txt");
Reader reader = new InputStreamReader(fis);
다음은 위와 관련된 코드입니다. 한번 살펴보세요
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
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 {
FileOutputStream fos = new FileOutputStream("C:/Temp/test1.txt");
Writer writer = new OutputStreamWriter(fos);
writer.write(str);
writer.close();
}// 보조 스트림 연결되어있는것입니다.
public static String read() throws Exception {
FileInputStream fis = new FileInputStream("C:/Temp/test1.txt"):
Reader reader = new InputStreamReader(fis); // 보조스트림연결!
char[] buffer = new char[100] // 길이가 100인 배열 생성!
int readCharNum = reader.read(buffer); //배열의 길이만큼 읽기
reader.close();
String data = new String(buffer, 0, reradCharNum); //char배열에서 읽은 것만큼 문자열변환
return data;// 리턴타입이 String이니까
}
}
'자바 복습' 카테고리의 다른 글
기본 타입 입출력 보조 스트림 (0) | 2021.07.15 |
---|---|
성능 향상 보조 스트림 (0) | 2021.07.15 |
보조 스트림 (0) | 2021.07.15 |
문자 입력 스트림 Reader (0) | 2021.07.15 |
문자 출력 스트림 : Writer (0) | 2021.07.14 |