>  기사  >  Java  >  Java의 잘못된 파일 읽기 문제에 대한 자세한 그래픽 및 텍스트 설명

Java의 잘못된 파일 읽기 문제에 대한 자세한 그래픽 및 텍스트 설명

尚
원래의
2019-11-28 11:06:372124검색

Java의 잘못된 파일 읽기 문제에 대한 자세한 그래픽 및 텍스트 설명

Java는 텍스트 파일(예: csv 파일, txt 파일 등)을 읽는데, 중국어를 접하면 깨져서 나옵니다. (추천: java 비디오 튜토리얼)

읽는 코드는 다음과 같습니다.

List<String> lines=new ArrayList<String>();  
BufferedReader br = new BufferedReader(new FileReader(fileName));
String line = null;
while ((line = br.readLine()) != null) { 
      lines.add(line);
}
br.close();

Java가 잘못된 파일을 읽는 원리:

Java의 I/O 클래스 처리는 그림과 같습니다.

Java의 잘못된 파일 읽기 문제에 대한 자세한 그래픽 및 텍스트 설명

Reader 클래스는 Java의 I /O에서 문자를 읽는 상위 클래스이고, InputStream 클래스는 바이트를 읽는 상위 클래스입니다. 특정 바이트-문자 디코딩은 StreamDecoder의 디코딩 프로세스 동안 사용자가 Charset 인코딩 형식을 지정해야 합니다. Charset을 지정하지 않으면 로컬 환경의 기본 문자 집합이 사용됩니다. 예를 들어 중국어 환경에서는 GBK 인코딩이 사용됩니다.

요약: Java가 데이터 스트림을 읽을 때 데이터 스트림의 인코딩 방법을 지정해야 합니다. 그렇지 않으면 로컬 환경의 기본 문자 집합이 사용됩니다.

위 분석 후 수정된 코드는 다음과 같습니다.

List<String> lines=new ArrayList<String>();
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(fileName),"UTF-8"));
String line = null;
while ((line = br.readLine()) != null) {
      lines.add(line);
}
br.close();

더 많은 Java 지식을 알고 싶다면 java 기본 튜토리얼 칼럼을 주목해주세요.

위 내용은 Java의 잘못된 파일 읽기 문제에 대한 자세한 그래픽 및 텍스트 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.