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;
}