读取txt文件中的行

我会尽量清楚,但如果我的问题不完美,请原谅我。 我有一个包含几行数据的txt文件。 例:

123 ralph bose 20000 200 1 2

256 ed shane 30000 100 2 4

我需要按顺序读取每一行并将其传递回另一个类中的方法进行处理。 我知道如何使用StringTokenizer将每一行分解为元素。

但是,我不确定如何一次读取一行,将元素传回另一个类,然后,一旦处理完成,就读取NEXT行。 我的类之间的方法合作工作正常(测试),但我如何一次读取一行?

我正在考虑创建一个数组,其中每一行都是一个数组元素,但由于行数未知,我无法创建数组,因为我不知道它的最终长度。

谢谢

巴巴

编辑

粗略设置:

A级

end_of_file = f1.readRecord(emp); if(!end_of_file) { slip.printPay(slipWrite); } 

B级

 public boolean readRecord(Employee pers) throws IOException { boolean eof = false ; String line = in.readLine() ; ??? } 

文件名永远不会传递

所以直到这里我可以阅读第一行,但我想我需要一种方法来循环读取它们在类之间来回逐个读取它们。

棘手的…

有很多方法可以一次读取整行; Scanner可能最简单:

 final Scanner s = new Scanner(yourFile); while(s.hasNextLine()) { final String line = s.nextLine(); YourClass.processLine(line); } 
 void readLine(String fileName) { java.io.BufferedReader br = null; try { br = new java.io.BufferedReader(new java.io.FileReader(fileName)); String line = null; while(true) { line = br.readLine(); if(line == null) break; // process your line here } }catch(Exception e){ }finally{ if(br != null) { try{br.close();}catch(Exception e){} } } } 

此外,如果你想拆分字符串…使用

字符串类split方法。 根据空间分裂…你可以做… line.split("\\s*")

希望它有效