使用字节流读取文件时,可以会有一个小问题:就是遇到中文字符时,可能不会显示完整的字符,是因为一个中文字符可能占用多个字节存储,所以java种提供了一些字符流类,以字符为单位读写数据,专门用于处理文本文件
但是如果使用字符流方法,可以用来读写字符,字节流一次读写一个字节 字符流一次读写一个字符不管这个字符是中文英文符号
package demo03;
import java.io.FileInputStream;
import java.io.IOException;
/*
使用字节流读取中文文件
1个中文
GBK:占用两个字节
UTR-8:占用三个字节
*/
public class Demo01InputStream {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("D:\\IdeaProjects\\新建文件夹\\D.txt"); //D.TXT中存的文字郭新林
int len = 0 ;
while((len=fis.read())!=-1){
System.out.println( (char) len); //这样会乱码 但如果是ABC就没问题 因为一次读三分之一字符
}
fis.close();
}
}