欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

如何使用BufferedReader循环读文件

时间:2022-11-06 09:22:53|栏目:JAVA代码|点击:

使用BufferedReader(缓存读取流)可以每次读取文件的一行。对于文件内容如果是按行为单位排列的话,则使用BufferedReader来读取文件还是比较方便的。

举例如下

1、BufferedReader读取一行

在F盘下有个txt文件,文件内容为


在这里插入图片描述

import java.io.*;
public class test {
    public static void main(String[] args)  {
	BufferedReader br = null;
        try {
            br = new BufferedReader(new FileReader("F:\\test.txt"));
            System.out.println(br.readLine());
        } catch (IOException e) {
            e.printStackTrace();
        }
}

结果为:

哈哈0

2、BufferedReader循环读每一行

import java.io.*;
public class test {
    public static void main(String[] args)  {
	BufferedReader br = null;
        try {
            br = new BufferedReader(new FileReader("F:\\test.txt"));
            String text = null;
            //读取内容为null则表示读到了文件末尾
        	while ((text = br.readLine()) != null) {
            System.out.println(text);
       		 }
        } catch (IOException e) {
            e.printStackTrace();
        }
}

结果为:

哈哈0
哈哈1
哈哈2
哈哈3
哈哈4
哈哈5
哈哈6
哈哈7
哈哈8
哈哈9

3、注意细节

新手如果没不注意,容易写成:

import java.io.*;
public class test {
    public static void main(String[] args)  {
	BufferedReader br = null;
        try {
            br = new BufferedReader(new FileReader("F:\\test.txt"));
            String text = null;
            //
        	while (true) {
	            if (br.readLine() == null) {
	                break;
	            }
            System.out.println(br.readLine());
       		 }
        } catch (IOException e) {
            e.printStackTrace();
        }
}

结果为:

哈哈1
哈哈3
哈哈5
哈哈7
哈哈9

原因

while (true) {
    if (br.readLine() == null) {
        break;
    }
   System.out.println(br.readLine());
 }

因为在while循环中, if 语句在做判断时,其实已经读取了一行,而读取的这行没有被打印出来,所以就造成了只打印了一部分。

BufferedReader.rean(buffer)注意事项

最近遇到一个问题

BufferedReader.rean(buffer)

读取数据时,最后一行必须获取到返回值

len=BufferedReader.rean(buffer)

只能取0到len区间的数据,len之后的数据为上次读取过的数据,原因是因为buffer读取时不会清空数组。

上一篇:Java代理模式的示例详解

栏    目:JAVA代码

下一篇:没有了

本文标题:如何使用BufferedReader循环读文件

本文地址:http://www.codeinn.net/misctech/218343.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有