Logo

郎哥编程

文本缓存输入类

2019-12-29 202

BufferedReader类是文本缓存输入类,BufferedReader类的父类是Reader类,BufferedReader类具有缓存机制,工作原理和BufferedInputStream类相同。

BufferedReader类有默认的缓冲区空间,程序可以在类的构造函数中传入需要的缓冲区空间大小。

BufferedReader类的构造函数如下:

●   public BufferedReader(Reader in);

该构造函数创建具有默认缓冲区空间的文本输入流。

●   public BufferedReader(Reader in, int sz)

该构造函数创建指定缓冲区空间大小的文本输入流。

Reader类的方法在《输入输出流》一课中已介绍,BufferedReader类新增加了一个readLine()方法,该方法说明如下:

●   String readLine()

该方法从文本文件中读取一行数据。

案例1:建立BufferedReaderTest测试类,使用BufferedReader的readLine()方法按行读取文本文件。

在buffer包下新建BufferedReaderTest类。代码如下:

package buffer;
 
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
 
/** 
* @ClassName: BufferedReaderTest 
* @Description:输入与输出(文本缓存输入类)案例1
* @author 编程训练营 
* @date  
* 
*/
 
public class BufferedReaderTest {
 
    /**
     * @Title: main
     * @Description: Java程序入口main方法
     * @param @param args 参数
     *
     * @return void 返回类型 @throws
     */
 
    public static void main(String[] args) {
      
       // 读取的文本文件路径
       String filename = "d:\\sample1.txt";
       BufferedReader reader;
       String line;
       try {
           // 实例化BufferedReader对象
           reader = new BufferedReader(new FileReader(filename));
           // 按行读取
           while ((line = reader.readLine()) != null) {
              System.out.print(line + "\n");
           }
           // 关闭文件
           reader.close();
       } catch (FileNotFoundException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       } catch (IOException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
      
 
    }
 
}

案例代码使用BufferedReader类的readLine()方法按行读取文本文件,并输出到控制台。

程序执行结果如下图所示:

image.png

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论