Java教程

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"文件中具有以下数据:
Welcome to lidihuo.
输出:
Welcome to lidihuo.

通过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
Java缓冲区读取器类1

从控制台读取数据直到用户停止写入的另一个示例

在此示例中,我们正在读取和打印数据,直到用户停止打印。
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
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4