Java教程-Java BufferedReader类

Java BufferedReader类
Java BufferedReader类用于从基于字符的输入流中读取文本。它可以使用readLine()方法逐行读取数据。它能提高性能。它继承了Reader类。
Java BufferedReader类声明
让我们看一下Java.io.BufferedReader类的声明:
public class BufferedReader extends Reader
Java BufferedReader类构造函数
Constructor | Description |
---|---|
BufferedReader(Reader rd) | 它用于创建使用输入缓冲区默认大小的缓冲字符输入流。 |
BufferedReader(Reader rd, int size) | 它用于创建使用指定大小的输入缓冲区的缓冲字符输入流。 |
Java BufferedReader类方法
Method | Description |
---|---|
int read() | 它用于读取单个字符。 |
int read(char[] cbuf, int off, int len) | 它用于将字符读入数组的一部分。 |
boolean markSupported() | 它用于测试输入流对标记和重置方法的支持。 |
String readLine() | 它用于阅读一行文本。 |
boolean ready() | 它用于测试输入流是否准备好被读取。 |
long skip(long n) | 它用于跳过字符。 |
void reset() | 它将流重新定位到上次在此输入流上调用标记方法的位置。 |
void mark(int readAheadLimit) | 它用于标记流中的当前位置。 |
void close() | 它关闭输入流并释放与该流关联的任何系统资源。 |
Java BufferedReader示例
在这个例子中,我们使用Java BufferedReader类从文本文件testout.txt中读取数据。
package com.javatpoint;
import java.io.*;
public class BufferedReaderExample {
public static void main(String args[])throws Exception{
FileReader fr=new FileReader("D:\\testout.txt");
BufferedReader br=new BufferedReader(fr);
int i;
while((i=br.read())!=-1){
System.out.print((char)i);
}
br.close();
fr.close();
}
}
假设在"testout.txt"文件中有以下数据:
Welcome to javaTpoint.
输出:
Welcome to javaTpoint.
通过InputStreamReader和BufferedReader从控制台读取数据
在这个例子中,我们将BufferedReader流与InputStreamReader流连接起来,从键盘逐行读取数据。
package com.javatpoint;
import java.io.*;
public class BufferedReaderExample{
public static void main(String args[])throws Exception{
InputStreamReader r=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(r);
System.out.println("Enter your name");
String name=br.readLine();
System.out.println("Welcome "+name);
}
}
输出:
Enter your name
Nakul Jain
Welcome Nakul Jain
图
从控制台读取数据直到用户输入stop的另一个例子
在这个例子中,我们读取并打印数据,直到用户输入stop。
package com.javatpoint;
import java.io.*;
public class BufferedReaderExample{
public static void main(String args[])throws Exception{
InputStreamReader r=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(r);
String name="";
while(!name.equals("stop")){
System.out.println("Enter data: ");
name=br.readLine();
System.out.println("data is: "+name);
}
br.close();
r.close();
}
}
输出:
Enter data: Nakul
data is: Nakul
Enter data: 12
data is: 12
Enter data: stop
data is: stop