티스토리 뷰

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

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

예제

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
31
32
33
34
35
36
37
38
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
링크
«   2025/04   »
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
글 보관함