Java文件字符输入流FileReader读取txt文件乱码的解决
更新时间:2021年09月03日 14:33:04 作者:春天里的小矮宝
这篇文章主要介绍了Java文件字符输入流FileReader读取txt文件乱码的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Java文件字符输入流FileReader读取txt文件乱码
先上代码
public class FileInAndOut {
public static void main(String[] args) {
//定义指定磁盘的文件的File对象
File file = new File("E:/大三下学期/Android/作业要求/java知识巩固/work5.txt");
if(! file.exists()){
System.out.println("对不起,不包含指定路径的文件");
}else{
//根据指定路径的File对象创建FileReader对象
try {
FileReader fr = new FileReader(file);
char[] data = new char[51]; //定义char数组
int length = 0;
while((length = fr.read(data))>0){ //循环读取文件中的数据
String str = new String(data,0,length); //根据读取文件的内容创建String 对象
System.out.println(str); //输出读取内容
}
fr.close(); //关闭流
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
控制台输出结果如下

原因是
Java中的字符流处理的最基本的单元是Unicode码元(大小2字节),所以,我们在保存的时候要将文件的编码格式改为utf-8


运行之后的结果为

字符流读取UTF-8和写出txt文件乱码问题
乱码问题一直都是非常难受的问题,本文解决Java中使用字符流读取UTF-8和写出txt文件 乱码
话不多说,直接上图

输出结果:

使用代码:

解决

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
详解springboot通过Async注解实现异步任务及回调的方法
这篇文章主要介绍了springboot通过Async注解实现异步任务及回调,文中通过一个简单示例来直观的理解什么是同步调用,在单元测试用例中,注入 SyncTask 对象,并在测试用例中执行 doTaskOne(),doTaskTwo(),doTaskThree() 三个方法,具体实现方式跟随小编一起看看吧2022-05-05
springboot2+es7使用RestHighLevelClient的示例代码
本文主要介绍了springboot2+es7使用RestHighLevelClient的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-07-07


最新评论