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文件字符输入流FileReader读取txt文件乱码的解决_第1张图片

原因是

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

Java文件字符输入流FileReader读取txt文件乱码的解决_第2张图片

Java文件字符输入流FileReader读取txt文件乱码的解决_第3张图片

运行之后的结果为

Java文件字符输入流FileReader读取txt文件乱码的解决_第4张图片

字符流读取UTF-8和写出txt文件乱码问题

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

话不多说,直接上图

Java文件字符输入流FileReader读取txt文件乱码的解决_第5张图片

输出结果:

Java文件字符输入流FileReader读取txt文件乱码的解决_第6张图片

使用代码:

Java文件字符输入流FileReader读取txt文件乱码的解决_第7张图片

解决

Java文件字符输入流FileReader读取txt文件乱码的解决_第8张图片 Java文件字符输入流FileReader读取txt文件乱码的解决_第9张图片

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

你可能感兴趣的:(Java文件字符输入流FileReader读取txt文件乱码的解决)