比较简单的做法,利用FileReader。参见代码:
测试文件: b.txt
IoTest.java
运行结果:
原因:文件的字符集编码与java程序运行环境的字符集编码不一致。
解决方法:
BufferedReader br=new BufferedReader(new FileReader(path+"/"+title));
修改为
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("path+"/"+title"),"UTF-8"));
UTF-8,更换为文件所用编码
如果出现乱码的话,可以在读的时候getByte()。
FileReader是用default编码读文件,所以你没法指定编码。要指定编码得先把文件用FileInputStream以stream的方式读出来,再用InputStreamReader来指定编码:
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(path+"/"+title)), "utf-8");
编码问题,文件是什么编码就用什么编码读取