문자 출력
- Writer는 문자 출력 스트림의 최상위 클래스로, 추상 클래스. 모든 문자 출력 스트림 클래스는 Writer 클래스를 상속받아서 만들어짐
출처, 이것이 자바다
- Writer 클래스에는 모든 문자 출력 스트림이 기본적으로 가져야 할 메소드가 정의됨
출처, 이것이 자바다
package ch18.sec04.exam01;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
/*
문자 출력스트림을 통한 파일생성및 쓰기작업.
*/
public class writeExamaple {
public static void main(String[] args) {
//new FileWriter("C:/dev/temp/test.txt", true);
//파일이 존재하지 않으면 생성한다. 존재하면 기존내용에 작업이 추가된다.
try {
Writer writer = new FileWriter("C:/dev/temp/test.txt"); //파일생성 //연속작업을 할려면 ,true를 붙여줌
//1)writer 출력스트림에서 관리하는 버퍼에 채운다.
//문자출력
char a = 'A';
writer.write(a);
char b = 'B';
writer.write(b);
//char 배열 출력
char[] arr = {'C', 'D', 'E'};
writer.write(arr);
//문자열 출력
writer.write("FGH");
//2)버퍼의 내용을 test.txt에 쓴다(저장). 버퍼내용은 비워진다.
writer.flush();
//3)출력스트림을 닫고 메모리 해제
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
문자 읽기
- Reader는 문자 입력 스트림의 최상위 클래스로, 추상 클래스
- 모든 문자 입력 스트림 클래스는 Reader 클래스를 상속받아서 만들어짐
출처, 이것이 자바다
- Reader 클래스에는 문자 입력 스트림이 기본적으로 가져야 할 메소드가 정의됨
출처, 이것이 자바다
package ch18.sec04.exam02;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.Reader;
/*
문자 입력스트림을 통한 파일 데이터 읽기
*/
public class ReadExample {
public static void main(String[] args) {
Reader reader = null;
try {
//1. 문자 읽기
reader = new FileReader("C:/dev/temp/test.txt");
while(true) {
int data = reader.read();
if(data == -1) break;
System.out.print((char)data); //문자로 변환하여 출력한다.
}
reader.close();
System.out.println();
//2. 문자 배열로 읽기
reader = new FileReader("C:/dev/temp/test.txt");
char[] data = new char[100];
while(true) {
int num = reader.read(data);
if(num == -1) break;
for(int i=0; i<num; i++) {
System.out.print(data[i]);
}
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
'데이터 입출력' 카테고리의 다른 글
문자 변환 스트림 (0) | 2023.02.08 |
---|---|
보조 스트림 (0) | 2023.02.08 |
바이트 입력 스트림 (0) | 2023.02.08 |
바이트 출력 스트림 (0) | 2023.02.08 |
입출력 스트림 (0) | 2023.02.08 |