如何实现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技能很弱,所以也许我只是没有以其他人可以更好地解释的方式解决问题。我感谢你们给我的任何建议。谢谢。
答案 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);
}
}