Java BufferedReader
Java BufferedReader类用于从基于字符的输入流中读取文本。它可以用于通过readLine()方法逐行读取数据。它使性能快速。它继承了Reader类。
Java BufferedReader类声明
让我们看看Java.io.BufferedReader类的声明:
public class BufferedReader extends Reader
Java BufferedReader类构造函数
构造函数 |
说明 |
BufferedReader(Reader rd) |
用于创建使用默认大小的输入缓冲区的缓冲字符输入流。 |
BufferedReader(Reader rd, int size) |
用于创建使用指定大小的输入缓冲区的缓冲字符输入流。 |
Java BufferedReader类方法
方法 |
说明 |
int read() |
它用于读取单个字符。 |
int read(char[] cbuf, int off, int len) |
它用于将字符读取到array的一部分中。 |
boolean markSupported() |
用于测试标记和重置方法的输入流支持。 |
String readLine() |
它用于读取一行文本。 |
boolean ready() |
它用于测试输入流是否已准备好读取。 |
long skip(long n) |
它用于跳过字符。 |
void reset() |
它将流重新定位在该输入流上最后一次调用mark方法的位置。 |
void mark(int readAheadLimit) |
它用于标记流中的当前位置。 |
void close() |
它将关闭输入流并释放与该流关联的任何系统资源。 |
Java BufferedReader示例
在此示例中,我们使用以下命令从文本文件
testout.txt 中读取数据Java BufferedReader类。
package com.lidihuo;
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"文件中具有以下数据:
输出:
通过InputStreamReader和BufferedReader从控制台读取数据
在此示例中,我们将BufferedReader流与InputStreamReader流,用于从键盘逐行读取数据。
package com.lidihuo;
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 nameNakul JainWelcome Nakul Jain
从控制台读取数据直到用户停止写入的另一个示例
在此示例中,我们正在读取和打印数据,直到用户停止打印。
package com.lidihuo;
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