跳至主要內容

Reader

mozzie小于 1 分钟JavaJava

Reader

是一个抽象类

Readable 接口的作用?

可以将数据以字符的形式读入到缓冲区

  • 方向:输入+输出
  • 单位:字节+字符
  • 功能:节点流(字节流) + 处理流(对节点流进行处理,生成其他类型的流)

InputStream(字节输入流) —> Reader(字符输入流)

InputStreamReader 的功能是将字节输入流转换为字符输入流

英文、数字、符号

1 个字节 = 1 个字符

如:a 1 个字符、1 个字节

汉字

1 个字符 = 3 个字节

如:好 1个字符、3 个字节

public class Test {
    public static void main(String[] args) throws Exception {
        //字符流
        Reader reader = new FileReader("/Users/du/Desktop/test.txt");
        int temp = 0;
        System.out.println("*******字符流读取********");
        while ((temp = reader.read())!=-1){
            System.out.println(temp);
        }
        reader.close();

        //字节流
        InputStream inputStream = new FileInputStream("/Users/du/Desktop/test.txt");
        temp = 0;
        System.out.println("*******字节流读取********");
        while ((temp = inputStream.read())!=-1){
            System.out.println(temp);
        }
        inputStream.close();
    }
}

read() 返回的是 int ,直接将字符转成字节(1-1,1-3)

read(char[] chars) 返回的是char数组,直接就返回字符,不会转成字节的。

贡献者: mozzie