dev/자바
JDK 11 FileReader Encoding
tiqndjd12
2024. 4. 22. 19:20
JDK 11 버전부터 FileReader 생성자에 인코딩을 설정할 수 있습니다.
11 이하 버전에서 인코딩을 통해서 파일을 읽으려면
예를 들어
FileInputStream fis = new FileInputStream(fileName);
InputStreamReader isr = new InputStreamReader(fis, Charset.forName("UTF-8"));
BufferedReader br = new BufferedReader(isr);
이런 식으로 InputStreamReader를 사용해야 하는데
그럴 필요 없이 FileReader로 쉽게 해결할 수 있어서 유용합니다.
인코딩이 포함된 FileReader 생성자로 파일을 읽으면 정상적으로 출력되는 것을 확인할 수 있습니다.
인코딩이 포함되지 않은 코드를 윈도우에서 실행하면 다음과 같이 출력됩니다.
자바 FileReader로 파일 읽을 때 인코딩이 설정되어 있지 않으면 실행되는 환경의 인코딩을 따르기 때문에
실제 파일 내용과 달리 인코딩이 깨져서 출력되는 것을 확인할 수 있습니다.