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 个字符的内部缓冲区。