当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Java.io.BufferedReader用法及代码示例


从 character-input 流读取文本,缓冲字符,以便高效读取字符、数组和行。可以指定缓冲区大小,也可以使用默认大小。默认值足够大,足以满足大多数用途。一般来说,读取器发出的每个读取请求都会导致对底层字符或字节流发出相应的读取请求。因此,建议将 BufferedReader 包装在 read() 操作可能成本高昂的任何 Reader 周围,例如 FileReaders 和 InputStreamReaders。使用 DataInputStreams 进行文本输入的程序可以通过将每个 DataInputStream 替换为适当的 BufferedReader 来本地化。

BufferedReader 类的构造函数

构造函数 执行的操作
BufferedReader(Reader in) 创建使用 default-sized 输入缓冲区的缓冲 character-input 流
BufferedReader(Reader in, int sz) 创建使用指定大小的输入缓冲区的缓冲 character-input 流。

Methods of BufferedReader Class

方法名称 行动
BufferedReader close() 关闭流并释放与其关联的所有系统资源。关闭流后,进一步的 read()、ready()、mark()、reset() 或 skip() 调用将引发 IOException。关闭之前关闭的流没有任何效果。
BufferedReader mark() 标记流中的当前位置。对 reset() 的后续调用将尝试将流重新定位到该点。
BufferedReader markSupported() 告知此流是否支持 mark() 操作(它确实支持)。
BufferedReader read() 读取单个字符。
读取(char[] cbuf,int 关闭,int len) 将字符读入数组的一部分。该方法实现了 Reader 类相应的 read 方法的通用契约。作为一个额外的便利,它尝试通过重复调用底层流的 read 方法来读取尽可能多的字符。
BufferedReader readLine() 读取一行文本。一行被视为以换行符 (‘\n’)、回车符 (‘\r’) 或回车符后紧跟换行符之一终止。
BufferedReader ready() 告知该流是否已准备好读取。
BufferedReader reset() 将流重置为最新标记。
BufferedReader skip(long) 跳过字符。

实现:文件内内容如下:

This is first line
this is second line

示例

Java


// Java Program to Illustrate BufferedReader Class 
// Via Its Methods 
  
// Importing required classes 
import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 
  
// Class 
class GFG { 
  
    // Main driver method 
    public static void main(String[] args) 
        throws IOException 
    { 
  
        // Creating object of FileReader and BufferedReader 
        // class 
        FileReader fr = new FileReader("file.txt"); 
        BufferedReader br = new BufferedReader(fr); 
  
        char c[] = new char[20]; 
  
        // Illustrating markSupported() method 
        if (br.markSupported()) { 
  
            // Print statement 
            System.out.println( 
                "mark() method is supported"); 
  
            // Illustrating mark method 
            br.mark(100); 
        } 
  
        // File Contents is as follows: 
        // This is first line 
        // this is second line 
  
        // Skipping 8 characters 
        br.skip(8); 
  
        // Illustrating ready() method 
        if (br.ready()) { 
  
            // Illustrating readLine() method 
            System.out.println(br.readLine()); 
  
            // Illustrating read(char c[],int off,int len) 
            br.read(c); 
  
            for (int i = 0; i < 20; i++) { 
                System.out.print(c[i]); 
            } 
  
            System.out.println(); 
  
            // Illustrating reset() method 
            br.reset(); 
            for (int i = 0; i < 8; i++) { 
  
                // Illustrating read() method 
                System.out.print((char)br.read()); 
            } 
        } 
    } 
}

输出:

mark() method is supported
first line
this is second line
This is 



相关用法


注:本文由纯净天空筛选整理自佚名大神的英文原创作品 Java.io.BufferedReader Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。