Java BufferedReader类

Java BufferedReader类用于从基于字符的输入流中读取文本。它可以使用readLine()方法逐行读取数据。它能提高性能。它继承了Reader类。

Java BufferedReader类声明

让我们看一下Java.io.BufferedReader类的声明:

public class BufferedReader extends Reader  

Java BufferedReader类构造函数

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

Java BufferedReader类方法

MethodDescription
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

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想