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


Java BufferedReader read()用法及代码示例


Java中BufferedReader类的read()方法有两种类型:

1. Java中BufferedReader类的read()方法用于从给定的缓冲读取器中读取单个字符。此read()方法一次从缓冲流中读取一个字符,并将其作为整数值返回。

用法:

public int read() 
          throws IOException

覆盖:覆盖Reader类的read()方法。

参数:此方法不接受任何参数。



返回值:此方法以整数形式返回此方法读取的字符。如果缓冲的流已经结束并且没有要读取的字符,则此方法返回-1。

异常:如果发生I /O错误,则此方法将引发IOException。

以下示例程序旨在说明IO包中BufferedReader类中的read()方法:

程序:假设存在文件“c:/demo.txt”。

// Java program to illustrate 
// BufferedReader read() method 
  
import java.io.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // Read the stream 'demo.txt' 
        // containing text "GEEKSFORGEEKS" 
        FileReader fileReader 
            = new FileReader( 
                "c:/demo.txt"); 
  
        // Convert fileReader to 
        // bufferedReader 
        BufferedReader buffReader 
            = new BufferedReader( 
                fileReader); 
  
        while (buffReader.ready()) { 
            // Read and print characters one by one 
            // by converting into character 
            System.out.println("Char:"
                               + (char)buffReader.read()); 
        } 
    } 
}
输入:
输出:

2. Java中BufferedReader类的read(char [],int,int)方法用于读取特定数组一部分中的字符。

总合同:
此read()方法的总协定如下:

  • 它通过一次又一次地调用主流的read()方法来读取最大可能的字符。
  • 它一直持续到读取指定数量的字符或文件结束或ready()方法返回false为止。

指定者:该方法由Reader类的read()方法指定。

用法:



public int read(char[] cbuf,
                int offset,
                int length)
         throws IOException

参数:此方法接受三个参数:

  • cbuf-它代表目标缓冲区。
  • offset-它代表存储字符的起点。
  • length-它表示要读取的最大字符数。

返回值:此方法返回此方法读取的字符数。如果缓冲的流已经结束并且没有要读取的字符,则此方法返回-1。

异常:如果发生I /O错误,则此方法将引发IOException。

以下示例程序旨在说明IO包中BufferedReader类中的read(char,int,int)方法:

程序:假设存在文件“c:/demo.txt”。

// Java program to illustrate 
// BufferedReader read(char, int, int) method 
  
import java.io.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // Read the stream 'demo.txt' 
        // containing text "GEEKSFORGEEKS" 
        FileReader fileReader 
            = new FileReader( 
                "c:/demo.txt"); 
  
        // Convert fileReader to 
        // bufferedReader 
        BufferedReader buffReader 
            = new BufferedReader( 
                fileReader); 
  
        // Create a character array 
        char[] cbuf = new char[13]; 
  
        // Initialize and declare 
        // offset and length 
        int offset = 2; 
        int length = 5; 
  
        // Calling read() method 
        // on buffer reader 
        System.out.println( 
            "Total number of characters read:"
            + buffReader.read( 
                  cbuf, offset, length)); 
  
        // For each char in cbuf 
        for (char c:cbuf) { 
            if (c == (char)0) 
                c = '-'; 
            System.out.print((char)c); 
        } 
    } 
}
输入:
输出:

参考文献:
https://docs.oracle.com/javase/10/docs/api/java/io/BufferedReader.html#read()
https://docs.oracle.com/javase/10/docs/api/java/io/BufferedReader.html#read(char%5B%5D, int, int)




相关用法


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