import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;

public class Ex15_FileWriter {

	public static void main(String[] args) {
		String pathname = "test.txt";
		int data;
		
		// OutputStream(byte 스트림) => OutputStreamWriter => Writer(문자 출력 스트림) 변환		
		try(FileWriter fw = new FileWriter(pathname)) {
			// 파일출력 문자 스트림
				// text 파일만 저장할 수 있으며, 이미지, 동영상, 2진파일 등을 저장 불가능하다.
			
			System.out.println("문자열 입력:종료[ctrl+z]");
			
			Reader rd = new InputStreamReader(System.in);
			while ( (data = rd.read()) != -1 ) {
				fw.write(data);
			}
			fw.flush();
			
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}

Writer 은 문자 출력 스트림을 처리하는 클래스이다. FileWriter도 문자를 다루므로 text 파일만 저장할 수 있다.

 

import java.io.FileReader;
import java.io.OutputStreamWriter;
import java.io.Writer;

public class Ex16_FileReader {

	public static void main(String[] args) {
		String pathname = "test.txt";
		int data;
		
		try(FileReader fr = new FileReader(pathname)) {
			// 파일 입력 문자 스트림. text 파일만 읽을 수 있음.
			// 이미지, 이진 파일 등은 입력 하면 안됨.
			
			Writer wt = new OutputStreamWriter(System.out);
			
			System.out.println("파일 내용...");
			while( (data = fr.read()) != -1){
				wt.write(data);
			}
			wt.flush();
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

}

Reader은 문자 스트림을 다루는 클래스이다. FileWriter도 문자를 다루므로 text 파일만 읽을 수 있다.

+ Recent posts