JAVA 질문있습니다.

package Ex;

import java.io.*;

public class fre {

    public static void main(String[] args) throws IOException {
        FileInputStream fi = null;
        InputStreamReader in = null;
//      fi = new FileInputStream("fileEx.txt");  // fileEx.txt ANSI로 저장
//      in = new InputStreamReader(fi, "MS949"); 

                fi = new FileInputStream("fileEx1.txt");// fileEx1.txt UTF-8로 저장
        in = new InputStreamReader(fi, "UTF-8"); 
        int ch;

        while((ch = fi.read()) !=-1 ){
            System.out.print((char)ch); 
        }
        fi.close();
    }
}

파일입출력을 하고 있습니다. 파일에 입력된 텍스트를 콘솔창에 출력하고 싶었는데 자꾸 외계어만 뜨네요.

fileEx.txt (ANSI로 저장)

파일 리더 파일 라이터
fileReader fileWriter
Java Test

fileEx.txt 는 위와 같이 저장하고 콘솔창에 출력하니

Æ??? ¸®´? Æ??? ¶?????
fileReader fileWriter
Java Test

위와 같이 출력이 되고요. 제가 인코딩체계에 대해 잘못알고 있는 것 같아서 그나마 쉬운? uft-8형식으로 해봤습니다.

fileEx1.txt (UTF-8로 저장)

자바 연습 "utf-8"형식

fileEx1.txt 는 위와 같이 저장하고 콘솔창에 출력하니

??¿????°? ??°??? "utf-8"??????

라 뜨네요. 저는 틀린 게 없다고 보여지는데 왜 한글출력이 안되는지 모르겠습니다. ㅠㅠ

2답변

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.