字符输入流介绍以及字符输入流读取数据

字符输入流介绍

字符输入流 [reader] 因为使用字节流来读取中文时会产生乱码 所以就有了字符流

Java.io.Reader 为字符输入流,是字符输入流的最顶层父类

定义了一些共性的成员方法,是一个抽象类的成员方法

int read()读取单个字符并返回

int read(char [] cbuf)一次读取多个字符将字符读取入数组

viod close()关闭该流并释放与之关联的所有资源

java.io.FileReader继承InputStreamReader继承Reader

FileReader:文件字符输入流

作用:把硬盘文件中的数据以字符的方式读取到内存中

构造方法: 

  FileReader(String fileName)

  FileReader(File file)

  参数:读取文件的数据源
    String fileName:文件的路径
    File file:一个文件

  FileReader构造方法的作用:
    1.创建1个FileReader对象
    2.会把FileReader对象指向要读取的文件

  

 

 

 

字符输入流读取数据

字符输入流的使用步骤:

  1.创建FileReader对象,构造方法中绑定要读取的数据源

  2.使用FileReader对象中的方法read读取文件

  3.释放资源

int read()读取单个字符并返回

复制代码
    public static void main(String[] args) throws IOException {
        //1.创建FileReader对象,构造方法中绑定要读取的数据源
        FileReader fr = new FileReader("a.txt");
        //2.使用FileReader对象中的方法read读取文件
        //int read()读取单个字符并返回
        int len;
        while ((len=fr.read())!=-1){
            System.out.println((char) len);
        }
        //3.释放资源
        fr.close();
    }
复制代码

int read(char [] cbuf)一次读取多个字符将字符读取入数组

复制代码
    public static void main(String[] args) throws IOException {
        //1.创建FileReader对象,构造方法中绑定要读取的数据源
        FileReader fr = new FileReader("a.txt");
        //2.使用FileReader对象中的方法read读取文件
        //int read()读取单个字符并返回
//        int len;
//        while ((len=fr.read())!=-1) {
//            System.out.println((char) len);
//        }
        //int read(char [] cbuf)一次读取多个字符将字符读取入数组
        char[] chars = new char[1024];
        int len;
        while ((len=fr.read(chars))!=-1){
              /*
               String类的构造方法
               String(char[] value)  把字符数组转换为字符串
               String(char[] value,int offset,int count)  把字符数组的一部分转换为字符串,offset数组开始索引,count转换的个数
              */
            System.out.println(new String(chars,0,len));
        }
        //3.释放资源
        fr.close();
    }
复制代码

 

posted @   xjw12345  阅读(360)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示