Java BufferedReader

原文:https://www.studytonight.com/java-file-io/java-bufferedreader-class

在本教程中,我们将学习 Java 中的BufferedReader 类。这个类从字符输入流中读取文本。它在读取时将字符存储在缓冲区中,因此读取过程变得更加高效。我们可以指定缓冲区大小,否则,它将采用默认大小。

句法

这是BufferedReader 类 snd 的语法声明,这个类扩展了Reader 类。

public class BufferedReader extends Reader

Java BufferedReader类类构造器

构造器 描述
BufferedReader(Reader rd) 它用于创建使用输入缓冲区默认大小的缓冲字符输入流。
BufferedReader(Reader rd, int size) 它用于创建使用输入缓冲区指定大小的缓冲字符输入流。

Java BufferedReader类类方法

下面给出了 BufferedReader 类支持的所有方法。

方法 描述
int read() 此方法用于读取单个字符。
int read(char[] cbuf, int off, int len) 该方法用于将字符读入数组的一部分。
boolean markSupported() 此方法用于测试标记和重置方法的输入流支持。
String readLine() 此方法用于读取一行文本。
boolean ready() 此方法用于测试输入流是否准备好被读取。
long skip(long n) 此方法用于跳过字符。
void reset() 此方法将流重新定位在此输入流上最后一次调用 mark 方法的位置。
void mark(int readAheadLimit) 此方法用于标记流中的当前位置。
void close() 此方法关闭输入流并释放与该流关联的任何系统资源。

缓冲恐惧者示例

在本例中,我们使用read()方法从流中读取字符。这个方法一次读取一个字符,如果流的结尾到达,那么它将返回-1。在这里,我们将从流中读取,直到它到达末尾。我们一个接一个地读取字符,并在控制台上打印。当我们到达流的末尾时,我们停止循环。

package studytonight;
import java.io.BufferedReader;
import java.io.FileReader;
public class StudyTonight 
{
    public static void main(String args[])
    {
        try
        {
            FileReader fileReader=new FileReader("E:\\studytonight\\output.txt");    
            BufferedReader br=new BufferedReader(fileReader);    
            int i;    
            while((i=br.read())!=-1){  
                System.out.print((char)i);  
            }  
            br.close();    
            fileReader.close();    
        }
        catch(Exception e)
        {
            System.out.print(false);
        }
    }
}

这是一篇课文。

输出. txt

This is a text.

BufferedReader 中的readLine()方法示例

在这个例子中,我们实现了readLine()方法,这个方法读取一行文本。在此,该线被考虑直到'\n''\r' 发生。如果我们到达一个流的末尾,它将返回一个null 值。

package studytonight;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class StudyTonight 
{
    public static void main(String args[])
    {
        try
        {
            BufferedReader reader =new BufferedReader(new InputStreamReader(System.in));
            System.out.println("Enter your name: ");
            String name = reader.readLine();   
            System.out.println("Hello "+name);
        }
        catch(Exception e)
        {
            System.out.print(false);
        }
    }
}

输入你的名字: Java 你好 Java

结论

在本教程中,我们学习了 Java 中的BufferedReader 类。这个类从字符输入流中读取文本。它在读取时将字符存储在缓冲区中,因此读取过程变得更加高效。BufferedReader 类维护一个 8192 个字符的内部缓冲区。