📅  最后修改于: 2023-12-03 14:42:44.754000             🧑  作者: Mango
在Java中,BufferedInputStream类是InputStream的装饰器,提供读取缓冲区功能。其中read()方法是BufferedInputStream类中常用的方法之一,它用于从输入流中读取一个字节的数据。
以下是BufferedInputStream类中read()方法的签名:
public synchronized int read() throws IOException
read()方法没有参数。
read()方法返回一个int类型的值,表示读取的字节数据。如果已达到文件尾部,则返回-1。
read()方法可能会抛出IOException异常。
以下是一个使用BufferedInputStream read()方法的示例代码。该示例采用了FileInputStream来读取本地文件,并将读取结果输出到控制台上。
import java.io.*;
public class BufferedInputStreamDemo {
public static void main(String[] args) {
try {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("test.txt"));
int data = bis.read();
while(data != -1) {
System.out.print((char) data);
data = bis.read();
}
bis.close();
} catch(IOException e) {
System.out.println("读取文件失败");
e.printStackTrace();
}
}
}
在以上示例中,我们首先创建了一个BufferedInputStream对象bis,并将其初始化为一个FileInputStream对象的装饰器,从而可以使用BufferedInputStream类中提供的读取缓冲区功能进行文件读取。然后,在while循环中,每次使用read()方法读取一个字节的数据,并判断是否已到达文件尾部。如果没有到达文件尾部,则将读取的数据强制类型转换为char类型,然后输出到控制台上。最后,我们在try catch块中捕捉可能发生的IOException异常,并在异常发生时输出异常信息。