📅  最后修改于: 2023-12-03 15:01:59.961000             🧑  作者: Mango
在Java中,Reader是一个抽象类,它用于读取字符流。它有许多子类,例如FileReader、StringReader等等。其中,一个最基本和常用的方法是read(),可以用于从输入流中读取单个字符。
下面是read()方法的声明:
public int read() throws IOException
read()方法返回一个整数表示已读取的字符。如果读取的字符已经到达流的末尾,则返回-1。否则,返回读取的字符(作为一个unicode字符)。
下面是一个简单的示例,演示如何使用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循环对文件中的字符进行遍历,每次读取一个字符并将其打印出来。
下面是一个稍微高级但更实用的示例,演示如何读取一个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。在使用这个方法时需要注意异常情况的处理。