Java中的BufferedInputStream类

x33g5p2x  于2022-10-06 转载在 Java  
字(1.4k)|赞(0)|评价(0)|浏览(390)

Java BufferedInputStream类用于从流中读取信息。它在内部使用了一个缓冲机制来使性能快速提升。

关于BufferedInputStream的要点是。

  • 当从流中跳过或读出的字节,内部的缓冲区会自动从包含的输入流中重新填充,每次很多字节。
  • 当一个BufferedInputStream被创建时,一个内部缓冲区阵列被创建。

BufferedInputStream类构造

  • BufferedInputStream(InputStream in) - 创建一个BufferedInputStream并保存其参数,即输入流,以供以后使用。
  • BufferedInputStream(InputStream in, int size) - 创建一个具有指定缓冲区大小的BufferedInputStream,并保存其参数,即输入流,以供以后使用。

BufferedInputStream类方法

int available() - 返回可以从这个输入流中读取(或跳过)的字节数的估计值,而不会被这个输入流的下一个方法调用所阻塞。
void close() - 关闭这个输入流并释放与该流相关的任何系统资源。
void mark(int readlimit) - 参见InputStream的mark方法的一般契约。
boolean markSupported() - 测试这个输入流是否支持mark和reset方法。

  • int read() - 参见InputStream的read方法的一般契约。
    int read(byte[] b, int off, int len) - 从这个字节输入流读取字节到指定的字节数组,从给定的偏移量开始。
    void reset() - 参见InputStream的复位方法的一般契约。
  • long skip(long n) - 参见InputStream的跳过方法的一般契约。

BufferedInputStream类实例

这个程序要读取文件 "sample.txt "并打印输出到控制台。

sample.txt "文件中包含以下文字。
注意:这个程序使用try-with-resources。它需要JDK 7或更高版本的程序,

This is the text content
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;

/**
* The class demonstrate the usage of BufferedInputStream class methods.
* @author javaguides.net
*
*/

public class BufferedInputStreamExample {
 public static void main(String[] args) {
  try( FileInputStream fin=new FileInputStream("sample.txt");    
       BufferedInputStream bin=new BufferedInputStream(fin); ){
   int i;    
      while((i=bin.read())!=-1){    
       System.out.print((char)i);    
      }    
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}

输出:

This is the text content

相关文章

微信公众号

最新文章

更多