Java讀寫txt文件時避免中文亂碼成績湧現的辦法引見。本站提示廣大學習愛好者:(Java讀寫txt文件時避免中文亂碼成績湧現的辦法引見)文章只能為提供參考,不一定能成為您想要的結果。以下是Java讀寫txt文件時避免中文亂碼成績湧現的辦法引見正文
成績:在用Java法式停止讀寫含中文的txt文件時,常常會湧現讀出或寫入的內容會湧現亂碼。緣由其實很簡略,就是體系的編碼和法式的編碼采取了分歧的編碼格局。平日,假設本身不修正的話,windows本身采取的編碼格局是gbk(而gbk和gb2312根本上是一樣的編碼方法),而IDE中Encode不修正的話,默許是utf-8的編碼,這就是為何會湧現亂碼的緣由。當在OS下手工創立並寫入的txt文件(gbk),用法式直接去讀(utf-8),就會亂碼。為了不能夠的中文亂碼成績,最好在文件寫入和讀出的時刻顯式指定編碼格局。
1、寫文件:
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(); } }
2、讀文件:
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; }