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文件 乱码

话不多说,直接上图

输出结果:

image.png

使用代码:

image.png

解决

image.png image.png

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解springboot通过Async注解实现异步任务及回调的方法

    详解springboot通过Async注解实现异步任务及回调的方法

    这篇文章主要介绍了springboot通过Async注解实现异步任务及回调,文中通过一个简单示例来直观的理解什么是同步调用,在单元测试用例中,注入 SyncTask 对象,并在测试用例中执行 doTaskOne(),doTaskTwo(),doTaskThree() 三个方法,具体实现方式跟随小编一起看看吧
    2022-05-05
  • spring boot项目中集成rocketmq详细步骤

    spring boot项目中集成rocketmq详细步骤

    这篇文章主要给大家介绍了关于spring boot项目中集成rocketmq的相关资料,springboot集成rocketmq的方法非常简单,文中直接上代码,需要的朋友可以参考下
    2023-09-09
  • Java BigDecimal中divide方法案例详解

    Java BigDecimal中divide方法案例详解

    这篇文章主要介绍了Java BigDecimal中divide方法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java中的CyclicBarrier循环栅栏解析

    Java中的CyclicBarrier循环栅栏解析

    这篇文章主要介绍了Java中的CyclicBarrier循环栅栏解析,从字面上的意思可以知道,这个类的中文意思是"循环栅栏",大概的意思就是一个可循环利用的屏障,它的作用就是会让所有线程都等待完成后才会继续下一步行动,需要的朋友可以参考下
    2023-12-12
  • springboot2+es7使用RestHighLevelClient的示例代码

    springboot2+es7使用RestHighLevelClient的示例代码

    本文主要介绍了springboot2+es7使用RestHighLevelClient的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Mybatis和Mybatis-Plus时间范围查询方式

    Mybatis和Mybatis-Plus时间范围查询方式

    这篇文章主要介绍了Mybatis和Mybatis-Plus时间范围查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 利用Java编写一个Java虚拟机

    利用Java编写一个Java虚拟机

    这篇文章主要为大家详细介绍了如何使用 Java17 编写的 Java 虚拟机,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的可以了解下
    2023-07-07
  • Spring事务aftercommit原理及实践

    Spring事务aftercommit原理及实践

    这篇文章主要为大家介绍了Spring事务aftercommit原理及实践,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Java性能工具JMeter实现上传与下载脚本编写

    Java性能工具JMeter实现上传与下载脚本编写

    性能测试工作中,文件上传也是经常见的性能压测场景之一,那么 JMeter 文件上传下载脚本怎么做,本文详细的来介绍一下,感兴趣的可以了解一下
    2021-07-07
  • JDK1.8新特性之方法引用 ::和Optional详解

    JDK1.8新特性之方法引用 ::和Optional详解

    这篇文章主要介绍了JDK1.8新特性之方法引用 ::和Optional,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09

最新评论