首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Reader(字符流读取)

Reader(字符流读取)

作者头像
用户7741497
发布2022-03-28 15:02:50
发布2022-03-28 15:02:50
1.2K00
代码可运行
举报
文章被收录于专栏:hml_知识记录hml_知识记录
运行总次数:0
代码可运行

java.io.Reader 是一个抽象类, 只能用来操作文本文件

Reader常用实现类的继承关系

  • java.lang.Object
    • java.io.Reader
      • java.io.InputStreamReader
        • java.io.FileReader
      • java.io.BufferedReader

常用子类就是FileReader和 BufferedReader

Reader共性方法(子类通用)

返回值

方法

说明

abstract void

close()

关闭并释放流

int

read()

读取单个字符

int

read(char[] cbuf)

将字符读入数组。

abstract int

read(char[] cbuf, int off, int len)

将字符读入数组的某一部分。

int

read(CharBuffer target)

试图将字符读入指定的字符缓冲区。

FileReader子类

用于读取字符流。读取字符文件的便捷类。

构造方法

方法

说明

FileReader(File file)

传入一个File对象

FileReader(String filePath)

传入一个文件路径字符串

使用实例:

代码语言:javascript
代码运行次数:0
运行
复制
try {
    // 1. 创建对象
    String path = "D:\\DEV\\eclipse\\workspace\\day13\\testIO.txt";
    Reader in = new FileReader(path);
    // 第二种创建方式
    // Reader in = new FileReader(new File(path));
    // 2. 开始读取
    int b = 0;
    while ((b = in.read()) != -1) {
        System.out.println(b);
    }
    // 3. 释放
    in.close();
} catch (IOException e) {
    e.printStackTrace();
}

Top~~

BufferedReader子类

从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。可以指定缓冲区的大小,或者可使用默认的大小。

构造方法

方法

说明

BufferedReader(Reader in)

一般传入一个FileReader对象

特有方法

返回值

方法

说明

String

readLine()

读取一行

使用实例:

代码语言:javascript
代码运行次数:0
运行
复制
FileInputStream fis = new FileInputStream("src/day08/BRDemo.java");
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);

 /*
 * BufferedReader提供了按行读取方法:
 * String readLine()
 * 连续读取若干字符,直到读取到换行符为止
 * 并将换行符之间读取到的字符以一个字符串返回
 * 若返回值为NULL,则表示读取到末尾。
 * 注意:该字符串不包含最后的换行符。
 * 
 */
String line = null;
while((line = br.readLine())!=null){
    System.out.println(line); // 一行一行读
}
br.close();

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • FileReader子类
    • 构造方法
    • 使用实例:
  • BufferedReader子类
    • 构造方法
    • 特有方法
    • 使用实例:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档