Java 解决读写本地文件中文乱码的问题

网友投稿 646 2023-06-16


Java 解决读写本地文件中文乱码的问题

java 解决读写本地文件中文乱码的问题

前言:

在用Java程序进行读写含中文的txt文件时,经常会出现读出或写入的内容会出现乱码。原因其实很简单,就是系统的编码和程序的编码采用了不同的编码格式。通常,假如自己不修改的话,windows自身采用的编码格式是gbk(而gbk和gb2312基本上是一样的编码方式),而IDE中Encode不修改的话,默认是utf-8的编码,这就是为什么会出现乱码的原因。当在OS下手工创建并写入的txt文件(gbk),用程序直接去读(utf-8),就会乱码。为了避免可能的中文乱码问题,最好在文件写入和读出的时候显式指定编码格式。

按行读取本地文件:

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+"\n";

}

read.close();

}

} catch (Exception e) {

e.printStackTrace();

}

return fileContent;

}

写入本地文件:

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();

}

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Mybatis批量更新报错问题
下一篇:Spring实现文件上传功能
相关文章

 发表评论

暂时没有评论,来抢沙发吧~