gpt4 book ai didi

Java中的BufferedInputStream类

转载 作者:知者 更新时间:2024-03-12 12:34:31 26 4
gpt4 key购买 nike

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com