Heim  >  Artikel  >  Java  >  Einführung in die Lösung für verstümmelte chinesische Zeichen beim Lesen von Dateien in Java

Einführung in die Lösung für verstümmelte chinesische Zeichen beim Lesen von Dateien in Java

尚
Original
2019-12-03 14:38:092535Durchsuche

Einführung in die Lösung für verstümmelte chinesische Zeichen beim Lesen von Dateien in Java

Java liest Textdateien (z. B. CSV-Dateien, TXT-Dateien usw.) und wird bei Chinesisch verstümmelt. (Empfohlen: Java-Video-Tutorial)

Lesen Sie den Code wie folgt:

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();</string></string>

Prinzip:

Die E/A-Klassenverarbeitung von Java ist wie folgt Abbildung:

Die Reader-Klasse ist die übergeordnete Klasse zum Lesen von Zeichen in Java I/O, und die InputStream-Klasse ist die übergeordnete Klasse zum Lesen von Bytes. Die InputStreamReader-Klasse ist die Brücke, die Bytes mit Zeichen verknüpft ist für das Lesen von Zeichen in der E/A verantwortlich. Der O-Prozess übernimmt die Konvertierung gelesener Bytes in Zeichen, und die spezifische Decodierung von Bytes in Zeichen wird von StreamDecoder implementiert. Das Zeichensatz-Codierungsformat muss vom Benutzer während des Decodierungsprozesses angegeben werden StreamDecoder. Beachten Sie, dass der Standardzeichensatz in der lokalen Umgebung verwendet wird, wenn Sie keinen Zeichensatz angeben. In der chinesischen Umgebung wird beispielsweise die GBK-Codierung verwendet.

Einführung in die Lösung für verstümmelte chinesische Zeichen beim Lesen von Dateien in Java

Zusammenfassung: Wenn Java den Datenstrom liest, müssen Sie die Codierungsmethode des Datenstroms angeben, andernfalls wird der Standardzeichensatz in der lokalen Umgebung verwendet.

Nach der obigen Analyse lautet der geänderte Code wie folgt:

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();</string></string>

Für weitere Java-Kenntnisse beachten Sie bitte die Spalte Java Basic Tutorial.

Das obige ist der detaillierte Inhalt vonEinführung in die Lösung für verstümmelte chinesische Zeichen beim Lesen von Dateien in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn