Maison > Java > javaDidacticiel > le corps du texte

Introduction aux méthodes permettant d'éviter les caractères chinois tronqués lors de la lecture et de l'écriture de fichiers txt en Java

高洛峰
Libérer: 2017-01-20 16:15:38
original
1512 Les gens l'ont consulté

Problème : lorsque vous utilisez des programmes Java pour lire et écrire des fichiers txt contenant des caractères chinois, le contenu lu ou écrit semble souvent tronqué. La raison est en fait très simple, c'est-à-dire que l'encodage du système et l'encodage du programme utilisent des formats d'encodage différents. Habituellement, si vous ne le modifiez pas vous-même, le format d'encodage utilisé par Windows lui-même est gbk (et gbk et gb2312 sont fondamentalement la même méthode d'encodage), et si l'encodage dans l'IDE n'est pas modifié, l'encodage par défaut est utf- 8, c'est pourquoi La raison du code tronqué. Lorsqu'un fichier txt (gbk) créé et écrit manuellement sous le système d'exploitation est lu directement par un programme (utf-8), il sera tronqué. Afin d'éviter d'éventuels problèmes de chinois tronqué, il est préférable de spécifier explicitement le format d'encodage lors de l'écriture et de la lecture de fichiers.

1. Écrire le fichier :

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();  
  }
}
Copier après la connexion

2. Lire le fichier :

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; 
}
Copier après la connexion

Plus de lecture Java pour une introduction aux méthodes permettant d'éviter les caractères chinois tronqués lors de l'écriture de fichiers txt, veuillez faire attention au site Web PHP chinois pour les articles connexes !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!