java 文件IO 读取乱码问题

2024-11-30 11:33:19
推荐回答(5个)
回答1:

比较简单的做法,利用FileReader。参见代码:

测试文件: b.txt

IoTest.java

运行结果:

回答2:

原因:文件的字符集编码与java程序运行环境的字符集编码不一致。

解决方法:
BufferedReader br=new BufferedReader(new FileReader(path+"/"+title));

修改为
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("path+"/"+title"),"UTF-8"));

UTF-8,更换为文件所用编码

回答3:

如果出现乱码的话,可以在读的时候getByte()。

回答4:

FileReader是用default编码读文件,所以你没法指定编码。要指定编码得先把文件用FileInputStream以stream的方式读出来,再用InputStreamReader来指定编码:
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(path+"/"+title)), "utf-8");

回答5:

编码问题,文件是什么编码就用什么编码读取