欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何使用BufferedReader循環(huán)讀文件

 更新時間:2021年07月21日 15:11:06   作者:快意咖啡~  
這篇文章主要介紹了如何使用BufferedReader循環(huán)讀文件的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

使用BufferedReader(緩存讀取流)可以每次讀取文件的一行。對于文件內(nèi)容如果是按行為單位排列的話,則使用BufferedReader來讀取文件還是比較方便的。

舉例如下

1、BufferedReader讀取一行

在F盤下有個txt文件,文件內(nèi)容為


在這里插入圖片描述

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();
        }
}

結(jié)果為:

哈哈0

2、BufferedReader循環(huán)讀每一行

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;
            //讀取內(nèi)容為null則表示讀到了文件末尾
        	while ((text = br.readLine()) != null) {
            System.out.println(text);
       		 }
        } catch (IOException e) {
            e.printStackTrace();
        }
}

結(jié)果為:

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

3、注意細節(jié)

新手如果沒不注意,容易寫成:

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();
        }
}

結(jié)果為:

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

原因

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

因為在while循環(huán)中, if 語句在做判斷時,其實已經(jīng)讀取了一行,而讀取的這行沒有被打印出來,所以就造成了只打印了一部分。

BufferedReader.rean(buffer)注意事項

最近遇到一個問題

BufferedReader.rean(buffer)

讀取數(shù)據(jù)時,最后一行必須獲取到返回值

len=BufferedReader.rean(buffer)

只能取0到len區(qū)間的數(shù)據(jù),len之后的數(shù)據(jù)為上次讀取過的數(shù)據(jù),原因是因為buffer讀取時不會清空數(shù)組。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論