京东云服务器推荐配置、多种配置选择,满足不同业务需求!

热门推荐

⭐ 稳定入门选择

配置:2核2G/5M

适用场景:个人站点 / 轻量应用

特点:性价比高,稳定可靠

¥19/月
立即购买
流量友好

☁️ 轻量云主机

配置:2核4G 5M

适用场景:小型业务 / 博客 / 测试环境

特点:流量友好,性能均衡

¥149/年
立即购买
高性能

💻 云服务主机

配置:4核16G 8M

适用场景:中小型服务 / 多并发场景

特点:充足内存与带宽,性能强劲

¥750/年
立即购买
新人专享

🎁 新人福利

新人访问 → 点击 → 最新活动

可获取 3000元 礼券

立即领取
Java教程 / Java 教程 / Java Reader/Writer
Java Reader 类
Java 方法重载Java PrintStream 类

Java Reader 类

在本教程中,我们将通过一个示例了解Java Reader、它的子类和它的方法。

java.io包的Reader类是一个抽象超类,它代表字符流。

由于Reader是抽象类,因此它本身不起作用。但是,其子类可用于读取数据。

Reader子类

为了使用的功能Reader,我们可以使用其子类。他们之中有一些是:

  • BufferedReader

  • InputStreamReader

  • FileReader

  • StringReader

Java Reader的子类是BufferedReader,InputStreamReader,FileReader和StringReader。

在下一个教程中,我们将学习所有这些子类。

创建Reader

为了创建一个Reader,我们必须首先导入java.io.Reader包。导入软件包后,就可以创建Reader。

// 创建 Reader
Reader input = new FileReader();

在这里,我们使用FileReader类创建了一个Reader。这是因为Reader是一个抽象类。因此,我们无法创建Reader的对象。

注意:我们还可以从的其他子类创建ReaderReader。

Reader方法

本Reader类提供由它的子类实现的方法不同。以下是一些常用方法:

  • ready() - 检查Reader是否准备好读取

  • read(char[] array)  - 从流中读取字符并存储在指定的数组中

  • read(char[] array, int start, int length)- 从流中读取length相等的字符数,并从start开始存储在指定的数组中

  • mark() - 标记流中已读取数据的位置

  • reset() - 重置流。如果流已被标记,然后尝试进行标记,以重新定位。如果该流未被标注,然后尝试将其复位在适当的特定流的一些方法,例如通过将其重新定位到其起始点。

  • skip() -从流中丢弃指定数量的字符

示例:使用FileReader的Reader

这是我们如何使用FileReader类实现Reader的方法。

假设我们有一个名为input.txt的文件,其中包含以下内容。

This is a line of text inside the file.

让我们尝试使用FileReader(Reader的子类)读取此文件。

import java.io.Reader;
import java.io.FileReader;

class Main {
    public static void main(String[] args) {

        // 创建一个字符数组
        char[] array = new char[100];

        try {
            //使用FileReader创建Reader
            Reader input = new FileReader("input.txt");

            //检查Reader是否准备就绪 
            System.out.println("流中有数据吗?  " + input.ready());

            //读取字符
            input.read(array);
            System.out.println("流中的数据:");
            System.out.println(array);

            // 关闭reader
            input.close();
        }

        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

输出结果

流中有数据吗?  true
流中的数据:
This is a line of text inside the file.

在上面的示例中,我们使用FileReader类创建了一个读取器。Reader与文件input.txt链接。

Reader input = new FileReader("input.txt");

为了从input.txt文件读取数据,我们已经实现了这些方法。

input.read();       //从reader读取数据
input.close();      //关闭reader
Java 方法重载Java PrintStream 类
上一篇:无
下一篇:Java Writer 类