Lorsque vous utilisez des programmes Java pour lire et écrire des fichiers txt contenant du chinois, le contenu lu ou écrit semble souvent tronqué. En effet, le codage du système et le codage du programme utilisent des formats de codage différents.
Solution :
Utilisez java.io.FileInputStream/java.io.InputStreamReader et java.io.FileOutputStream/java.io.OutputStreamWriter pour résoudre ce problème.
Code d'implémentation :
//默认情况下,win系统编码是gbk/gbk2312,读取和写入时加入编码字符集可以解决乱码 public class ReadAndWrite { private static void test(){ File firstFile = new File("D://fileone.txt"); File secondFile=new File("D://filesecond.txt"); BufferedReader in = null; BufferedWriter out = null; try { //加入编码字符集 in = new BufferedReader(new InputStreamReader(new FileInputStream(firstFile), "gbk")); //加入编码字符集 out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(secondFile), "gbk")); String line = ""; while((line = in.readLine())!=null){ System.out.println(line); out.write(line+"\r\n"); } } catch (FileNotFoundException e) { System.out.println("file is not fond"); } catch (IOException e) { System.out.println("Read or write Exceptioned"); }finally{ if(null!=in){ try { in.close(); } catch (IOException e) { e.printStackTrace(); }} if(null!=out){ try { out.close(); } catch (IOException e) { e.printStackTrace(); } } } }
Pour plus de connaissances sur Java, veuillez faire attention à la colonne Tutoriel de base Java sur le site Web PHP chinois.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!