使用字节流读取中文的问题和字符输入流_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对象指向要读取的文件

 

posted @ 2022-07-13 14:03  魔光领域  阅读(97)  评论(0编辑  收藏  举报