博客
关于我
Java文件字符输入流FileReader读取txt文件乱码问题
阅读量:327 次
发布时间:2019-03-04

本文共 792 字,大约阅读时间需要 2 分钟。

先上代码:

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

在这里插入图片描述

在这里插入图片描述

运行之后的结果为

在这里插入图片描述

转载地址:http://cooq.baihongyu.com/

你可能感兴趣的文章
MySQL报Got an error reading communication packets错
查看>>
Mysql报错Can‘t create/write to file ‘/tmp/#sql_3a8_0.MYD‘ (Errcode: 28 - No space left on device)
查看>>
MySql报错Deadlock found when trying to get lock; try restarting transaction 的问题解决
查看>>
MySQL报错ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘
查看>>
Mysql报错Packet for query is too large问题解决
查看>>
mysql报错级别_更改MySQL日志错误级别记录非法登陆(Access denied)
查看>>
Mysql报错:too many connections
查看>>
MySQL报错:无法启动MySQL服务
查看>>
mysql授权用户,创建用户名密码,授权单个数据库,授权多个数据库
查看>>
mysql排序查询
查看>>
MySQL排序的艺术:你真的懂 Order By吗?
查看>>
MySQL排序的艺术:你真的懂 Order By吗?
查看>>
Mysql推荐书籍
查看>>
Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据
查看>>
MYSQL搜索引擎
查看>>
mysql操作数据表的命令_MySQL数据表操作命令
查看>>
mysql操作日志记录查询_如何使用SpringBoot AOP 记录操作日志、异常日志?
查看>>
MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景?
查看>>
mysql支持表情
查看>>
MySQL支撑百万级流量高并发的网站部署详解
查看>>