使用字节流读取中文的问题和字符输入流_Reader类&FileReader类介绍
使用字节流读取中文的问题
使用字节流读取中文文件
1个中文
GBK:占用两个字节
UTF-8:占用3个字节
读取中文会产生乱码问题!
public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("F:\\a3.txt"); int len = 0; while ((len=fis.read())!=-1){ System.out.println((char) len); } fis.close(); }
字符输入流_Reader类&FileReader类介绍
Read抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。
基本共性功能方法:
public void close() : 关闭此流并释放与此流相关联的任何系统资源。
public int read() :从输入流读取一个字符。
public int read(char[] cbuf): 从输入流中读取一些字符, 并将它们存储到字符数组cbuf中。
FileReader:文件字符输入流
作用:把硬盘文件中的数据以字符的方式读取到内存中
构造方法:
FileReader(String fileName)
FileReader(File file)
参数:读取文件的数据源
String fileName:文件的路径
File file:一个文件
FileReader构造方法的作用:
1.创建一个FileReader对象
2.会把FileReader对象指向要读取的文件