티스토리 뷰

java.io.InputStreamReader/ OutputStreamWriter - 파일 내용 출력

파일의 내용을 문자로 읽어서 문자로 화면에 출력하는 방법이다.  InputStream/OutStream 클래스의 경우는 byte 단위의 읽기와 쓰기에 사용된다. 여기서 문제는 Java의 Char 와 String의 타입의 경우 Characters로 취급 되어진다. 이말은 Char / String를 저장하려면 char 단위로 읽고 쓰는 Reader 와 Writer를 사용해야 한다. Java는 이 문제를 해결하기 위해서 byte 단위로 데이터를 읽어 Char형태로 변화 시켜 연결 고리 역활을 하는 Object를 만들어 놓았다. 그 것이 InputStreamReader OutputStreamWriter 이다.

예제

package com.umejintan.file;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class ReaderTest {

	public static void main(String[] args) {
		
		FileInputStream fis = null;
		InputStreamReader isr = null;
		OutputStreamWriter osw = null;
		try{
                        // 소스 파일 지정
			fis = new FileInputStream("c://Example//File//fileWriter.txt");
                        // 파일의 내용을 문자로 읽기 위해서 InputStreamReader 로 생성
			isr = new InputStreamReader (fis);
                        // Data의 표시 대상 지정 System.out 에 문자를 출력한다.
			osw = new OutputStreamWriter(System.out);
			
			char[] buffer= new char[512];
			int cnt = 0;
			while((cnt = isr.read(buffer)) != -1) {
				osw.write(buffer, 0, cnt);
			}
		} catch(IOException ex) {
			ex.printStackTrace();
		} finally {
			try{
				fis.close();
				isr.close();
				osw.close();
			} catch(Exception e) {}
		}
	}
}

결과


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함