Heim > Java > javaLernprogramm > Einführung in Methoden zur Vermeidung verstümmelter chinesischer Zeichen beim Lesen und Schreiben von TXT-Dateien in Java

Einführung in Methoden zur Vermeidung verstümmelter chinesischer Zeichen beim Lesen und Schreiben von TXT-Dateien in Java

高洛峰
Freigeben: 2017-01-20 16:15:38
Original
1571 Leute haben es durchsucht

Problem: Wenn Java-Programme zum Lesen und Schreiben von TXT-Dateien mit chinesischen Schriftzeichen verwendet werden, scheint der gelesene oder geschriebene Inhalt oft verstümmelt zu sein. Der Grund ist eigentlich sehr einfach: Die Systemkodierung und die Programmkodierung verwenden unterschiedliche Kodierungsformate. Wenn Sie es nicht selbst ändern, ist das von Windows selbst verwendete Codierungsformat normalerweise gbk (und gbk und gb2312 sind im Grunde dieselben Codierungsmethoden). Wenn die Codierung in der IDE nicht geändert wird, ist die Standardcodierung utf- 8, weshalb der Grund für verstümmelte Zeichen liegt. Wenn eine txt-Datei (gbk), die manuell unter dem Betriebssystem erstellt und geschrieben wurde, direkt von einem Programm (utf-8) gelesen wird, wird sie verstümmelt. Um mögliche Probleme mit verstümmeltem Chinesisch zu vermeiden, ist es am besten, das Codierungsformat beim Schreiben und Lesen von Dateien explizit anzugeben.

1. Datei schreiben:

public static void writeFile(String fileName, String fileContent) 
{  
  try 
  {  
    File f = new File(fileName);  
    if (!f.exists()) 
    {   
      f.createNewFile();  
    }  
    OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(f),"gbk");  
    BufferedWriter writer=new BufferedWriter(write);    
    writer.write(fileContent);  
    writer.close();  
  } catch (Exception e) 
  {  
    e.printStackTrace();  
  }
}
Nach dem Login kopieren

2. Mehr Java-Lesung für Eine Einführung in Methoden zur Vermeidung verstümmelter chinesischer Zeichen beim Schreiben von TXT-Dateien. Bitte beachten Sie die PHP-Chinese-Website für verwandte Artikel!

public static String readFile(String fileName)
{  
  String fileContent = "";  
  try 
  {   
    File f = new File(fileName);  
    if(f.isFile()&&f.exists())
    {   
      InputStreamReader read = new InputStreamReader(new FileInputStream(f),"gbk");   
      BufferedReader reader=new BufferedReader(read);   
      String line;   
      while ((line = reader.readLine()) != null) 
      {   
        fileContent += line;   
      }    
      read.close();  
    }  
  } catch (Exception e) 
  {    
    e.printStackTrace();  
  }  
  return fileContent; 
}
Nach dem Login kopieren

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage