查看原文
其他

Java教程-Java BufferedInputStream类

点击关注 👉 鸭哥聊Java 2023-08-31

整理:Java面试那些事儿


Java BufferedInputStream类用于从流中读取信息。它内部使用缓冲机制来提高性能。


关于BufferedInputStream的重要点如下:


  • 当从流中跳过或读取字节时,内部缓冲区会自动从所包含的输入流中一次性填充许多字节。

  • 创建BufferedInputStream时,会创建一个内部缓冲区数组。


Java BufferedInputStream类声明


让我们看一下Java.io.BufferedInputStream类的声明:

public class BufferedInputStream extends FilterInputStream


Java BufferedInputStream类构造方法


Constructor

Description

BufferedInputStream(InputStream IS)

它创建 BufferedInputStream 并保存它的参数,输入流 IS,供以后使用。

BufferedInputStream(InputStream IS, int size)

它创建具有指定缓冲区大小的 BufferedInputStream 并保存它的参数,输入流 IS,供以后使用。


Java BufferedInputStream类方法


MethodDescription

int available()

它返回可以从输入流中读取的估计字节数,而不会被输入流的下一个调用方法阻塞。

int read()

它从输入流中读取下一个字节的数据。

int read(byte[] b, int off, int ln)

它从指定的字节输入流中读取字节到指定的字节数组,从给定的偏移量开始。

void close()

它关闭输入流并释放与该流关联的任何系统资源。

void reset()

它将流重新定位到上次在此输入流上调用标记方法的位置。

void mark(int readlimit)

它看到输入流的标记方法的一般契约

long skip(long x)

它跳过并丢弃输入流中 x 字节的数据。

boolean markSupported()

它测试输入流以支持标记和重置方法。

Java BufferedInputStream的示例

让我们看一个简单的示例,使用BufferedInputStream读取文件数据:

package cn.javatiku; import java.io.*; public class BufferedInputStreamExample{ public static void main(String args[]){ try{ FileInputStream fin=new FileInputStream("D:\\testout.txt"); BufferedInputStream bin=new BufferedInputStream(fin); int i; while((i=bin.read())!=-1){ System.out.print((char)i); } bin.close(); fin.close(); }catch(Exception e){System.out.println(e);} } }


这里,我们假设您的"testout.txt"文件中有以下数据:

javatiku


输出:

javatiku



最近技术热文


我就知道你会点赞+“在看”

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存