📜  Java中的Reader read()方法和示例(1)

📅  最后修改于: 2023-12-03 15:01:59.961000             🧑  作者: Mango

Java中的Reader read()方法和示例

在Java中,Reader是一个抽象类,它用于读取字符流。它有许多子类,例如FileReader、StringReader等等。其中,一个最基本和常用的方法是read(),可以用于从输入流中读取单个字符。

Reader read()方法的声明

下面是read()方法的声明:

public int read() throws IOException

read()方法返回一个整数表示已读取的字符。如果读取的字符已经到达流的末尾,则返回-1。否则,返回读取的字符(作为一个unicode字符)。

Reader read()方法的简单示例

下面是一个简单的示例,演示如何使用Reader read()方法读取文件中的字符:

import java.io.*;

public class ReadFile {

    public static void main(String[] args) {

        try {
            File file = new File("example.txt");
            FileReader fr = new FileReader(file);
            int i;

            while ((i = fr.read()) != -1) {
                System.out.print((char) i);
            }
            fr.close();

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

在这个例子中,我们打开一个名为example.txt的文本文件,并使用FileReader创建一个FileReader对象。然后,我们使用一个while循环对文件中的字符进行遍历,每次读取一个字符并将其打印出来。

Reader read()方法的高级示例

下面是一个稍微高级但更实用的示例,演示如何读取一个URL中的内容:

import java.io.*;
import java.net.*;

public class ReadURL {

    public static void main(String[] args) {

        try {
            URL url = new URL("https://www.baidu.com");
            URLConnection conn = url.openConnection();
            InputStreamReader isr = new InputStreamReader(conn.getInputStream());

            int i;
            while ((i = isr.read()) != -1) {
                System.out.print((char) i);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

在这个例子中,我们创建了一个URL对象并使用URLConnection打开连接。然后,我们创建了一个InputStreamReader对象,并使用它来读取URL中的内容。最后,我们使用一个while循环对URL中的字符进行遍历,每次读取一个字符并将其打印出来。

结论

在Java中,Reader read()方法是读取字符流的一个基本方法。可以用它来读取文件、URL等等。这个方法返回一个整数表示已读取的字符,如果已经到达流的末尾则返回-1。在使用这个方法时需要注意异常情况的处理。