使用Bufferedreader读取多字段文本文件

时间:2016-11-18 21:13:48

标签: java bufferedreader

如何实现Bufferedreader以读入包含多个字段的文件?我知道br逐行读取,但是文件的格式使我难以理解,因为每条线的长度各不相同。以下是文本格式的示例。每次发生时,如何让bufferedReader解释4变量行?然后是后续进行的2个变量线?

var0// number of test cases

var1 var2 var3 var4 

num1 num2

num3 num4

... ...

... ...

var6 var7 var8 var9

... ...

... ...

...

...

这是我读取文件的基本BufferedReader代码

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;

public class FileHandling {

    public static void main(String[ ] args) {

        Scanner scanner = new Scanner(System.in);
        BufferedReader br = null;
        String line;

        //System.out.println("New.txt");

        try{
            br = new BufferedReader(new FileReader("Part1.txt"));
        } catch (FileNotFoundException fileex)  {
            System.out.println(fileex.getMessage() + "This File Was Not Found");
            System.exit(0);
        }

        //Read the lines

        try {
            while((line = br.readLine()) != null){
            System.out.println(line);
    }
        } catch (IOException ioex) {
            System.out.println(ioex.getMessage() + "Error Reading File");
        }finally {
            System.exit(0);
        }

}

有几点需要注意。我理解这个网站及其用途。我已经通过本网站上的其他类似问题彻底研究了几个小时。我已经尝试了汗学院,youtube,我能想到的一切来解决我的问题。我不是在找任何人为我做我的工作。我只是一个失去的CS学生,正在寻找正确方向的技巧。我的java技能很弱,所以也许我只是没有以其他人可以更好地解释的方式解决问题。我感谢你们给我的任何建议。谢谢。

1 个答案:

答案 0 :(得分:0)

扩展注释,此代码将拆分空格字符上的每一行,并将结果存储在数组中。从那里你可以操纵数据,例如,如果你的输入是:

John Goodman
Kate Beckinsale
George Foreman

您可以设置变量String firstName = array[0];String lastName = array[1];

以下是您需要从示例中更改的代码

try {
    while((line = br.readLine()) != null){
    String[] splitLine = line.split(' ');
    for(String str : splitLine) {
        // Do something with each string
        System.out.println(str);
    }
}