将选择列数据从文本文件读入Java中的列表

有人可以帮助我将文本文件中的选择性数据列读入列表中。

例如:如果文本文件数据如下

------------- id name age 01 ron 21 02 harry 12 03 tom 23 04 jerry 25 ------------- 

从上面的数据,如果我需要使用java中的列表收集列“名称”并打印它..

使用文件阅读器并逐行阅读,打破空格并将所需的任何列添加到列表中。 使用BufferedReader通过以下方式获取行:

 BufferedReader br = new BufferedReader(new FileReader("C:\\readFile.txt")); 

然后你可以抓住一条线:

 String line = br.readLine(); 

最后,您可以通过执行以下操作将字符串拆分为数组:

 String[] columns = line.split(" "); 

然后,您可以访问列并将其添加到列表中,具体取决于您是否需要列0,1或2。

java.util.Scanner可用于读取文件,丢弃不需要的列。 在处理文件时打印所需的列值,或者add()它们add()java.util.ArrayList ,并在处理完成后打印它们。

一个有限错误检查的小例子:

 Scanner s = new Scanner(new File("input.txt")); List names = new ArrayList(); // Skip column headings. // Read each line, ensuring correct format. while (s.hasNext()) { s.nextInt(); // read and skip 'id' names.add(s.next()); // read and store 'name' s.nextInt(); // read and skip 'age' } for (String name: names) { System.out.println(name); } 

列是否由制表符分隔?

查看Java CSV ,这是一个用于读取逗号分隔或制表符分隔文本文件的开源库。 应该完成大部分工作。 我自己从未使用它,但我认为你可以要求第1列(或类似)中的所有值。

或者,您可以使用BufferedReader (具有readLine() )方法一次读取一行文件,然后调用String.split()并获取所需的部分。