Java中的缓冲读取器BufferedReader类

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

从一个字符输入流中读取文本,对字符进行缓冲,以便提供高效的字符、数组和行的读取。

BufferedInputStream类用于读取缓冲的字节流,它是一个原始字节。 BufferedReader类用于读取字符流。
一般来说,对阅读器的每个读取请求都会导致对底层字符或字节流的相应读取请求。因此,建议在任何*read()*操作可能很昂贵的阅读器周围包裹一个BufferedReader,例如FileReaders和InputStreamReaders。比如说

  1. BufferedReader in = new BufferedReader(new FileReader("foo.in"));

BufferedReader类 构造函数

  • BufferedReader(Reader in) - 创建一个缓冲的字符输入流,使用一个默认大小的输入缓冲区。
  • BufferedReader(Reader in, int sz) - 创建一个缓冲的字符输入流,使用指定大小的输入缓冲区。

BufferedReader类方法

void close() - 关闭流并释放与之相关的任何系统资源。

  • Streamlines``() - 返回一个Stream,其中的元素是从这个BufferedReader中读取的行。
    void mark(int readAheadLimit) - 标记流中的当前位置。
  • boolean markSupported() - 告诉这个流是否支持mark()操作,它支持。
    *int read() - 读取单个字符。
    int read(char[] cbuf, int off, int len) - 将字符读入一个数组的一部分。
    String readLine() - 读取一行文本。
    boolean ready() - 说明这个流是否可以被读取。
    void reset() - 将流重新设置为最近的标记。
  • long skip(long n)* - 跳过字符。

缓冲读取器类实例

这个程序读取一个名为 "sample.txt "的文本文件并打印输出到控制台。sample.txt "中包含以下文本。
这个例子使用try-with-resources语句来自动关闭资源,

  1. This is the text content
  1. import java.io.BufferedReader;
  2. import java.io.FileReader;
  3. import java.io.IOException;
  4. /**
  5. * The class demonstrate the usage of BufferedReader class methods.
  6. * @author javaguides.net
  7. *
  8. */
  9. public class BufferedReaderExample {
  10. public static void main(String[] args) {
  11. try (FileReader fr = new FileReader("sample.txt");
  12. BufferedReader br = new BufferedReader(fr);) {
  13. String sCurrentLine;
  14. while ((sCurrentLine = br.readLine()) != null) {
  15. System.out.println(sCurrentLine);
  16. }
  17. } catch (IOException e) {
  18. e.printStackTrace();
  19. }
  20. }
  21. }

输出:

  1. This is the text content

相关文章

最新文章

更多