字符输入流InputStreamReader day17

package com.shujia.day17.ketang;

import java.io.FileInputStream;
import java.io.InputStreamReader;

/*
    转换流(字符流) = 字节流 + 编码表
    字符流:(当一个文件使用记事本打开能够看懂的时候,就可以用字符流)
        字符输入流:
            Reader
                - InputStreamReader(实现子类)
        字符输出流:
            Writer
                -  OutputStreamWriter(实现子类)

字符输入流:InputStreamReader
    构造方法:
        InputStreamReader(InputStream in) 创建一个使用默认字符集的InputStreamReader。
        InputStreamReader(InputStream in, String charsetName) 创建一个使用命名字符集的InputStreamReader。

    成员方法:
        public int read()
        public int read(char[] cbuf)



 */
public class InputStreamReaderDemo1 {
    public static void main(String[] args) throws Exception{
        //创建字符输入流对象
//        InputStreamReader isr = new InputStreamReader(new FileInputStream("src/com/shujia/day17/data/a2.txt"));
        InputStreamReader isr = new InputStreamReader(new FileInputStream("src/com/shujia/day17/data/a2.txt"),"UTF-8");

        System.out.println((char) isr.read());


        //public int read() 一次读取一个字符
//        System.out.println((char) isr.read());
//        System.out.println((char) isr.read());
//        System.out.println((char) isr.read());
//        System.out.println((char) isr.read());
//        int i = 0;
//        while ((i=isr.read())!=-1){
//            System.out.print((char) i);
//        }

        //public int read(char[] cbuf) 一次读取一个字符数组大小的字符,返回实际读取到的字符数
//        char[] chars = new char[1024];
//        int length = 0;
//        while ((length=isr.read(chars))!=-1){
//            String s = new String(chars, 0, length);
//            System.out.print(s);
//        }


        //释放资源
        isr.close();
    }
}
posted @ 2024-08-16 19:45  ていせい  阅读(1)  评论(0编辑  收藏  举报