InputStreamReader 和 BufferedReader 。其中最重要的类是 InputStreamReader ,它是字节转换为字符的桥
梁。 你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如 GBK 等。
FileReader 与 InputStreamReader 涉及编码转换 ( 指定编码方式或者采用 os 默认编码 ) ,可
能在不同的平台上出现乱码现象!而 FileInputStream 以二进制方式处理,不会出现乱码现象 .
FileInputStream字节流是 以一个一个字节来读。
FileReader字符流是 以一个一个字符来读取的。
BufferedReader bufReader = null;
InputStreamReader isr = null;
FileReader fr = null;
try {
for(String fileName:fileNames){
方法一:
isr = new InputStreamReader(new FileInputStream("D:\test.txt"), "utf-8");
bufReader = new BufferedReader(isr);
方法二:
fr = new FileReader("D:\test.txt");
bufReader = new BufferedReader(fr);
while (bufReader.ready()) {
// 1. 得到每一行数据
String dataLine = bufReader.readLine();
}
}
本文探讨了使用InputStreamReader和BufferedReader进行文件读取的方法,对比了不同读取方式的特点,如FileInputStream与FileReader的区别,并说明了如何指定编码方式避免乱码。
532

被折叠的 条评论
为什么被折叠?



