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

Ven*_*thy 5 java file-io

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

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

-------------
id name age
01 ron   21
02 harry 12
03 tom   23
04 jerry 25
-------------
Run Code Online (Sandbox Code Playgroud)

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

hmj*_*mjd 5

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

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

Scanner s = new Scanner(new File("input.txt"));
List<String> names = new ArrayList<String>();

// 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);
}
Run Code Online (Sandbox Code Playgroud)


use*_*300 1

列是否由制表符分隔?

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

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