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로 파일 읽을 때 인코딩이 설정되어 있지 않으면 실행되는 환경의 인코딩을 따르기 때문에
실제 파일 내용과 달리 인코딩이 깨져서 출력되는 것을 확인할 수 있습니다.
'dev > 자바' 카테고리의 다른 글
Java Pattern 정규표현식 (0) | 2024.05.03 |
---|---|
Java thread lock synchronized (0) | 2024.04.23 |
Java List Stream (0) | 2023.08.29 |
Comparator&Comparable 인터페이스 (0) | 2023.06.20 |
csv parsing lambda stream (0) | 2023.06.08 |