从任何类型的文件中读取特定列

时间:2011-11-09 08:09:25

标签: java file-io

如何从某个位置读取任何类型的文件,并仅访问特定列以对其执行某些操作。我的列中的某些行也可能包含空值。 这是一个例子:

name | age | sex
xyz  | 22  | F
yyy  | 25  | M
zzz  |     | F
aaa  | 22  | M

我想访问列age,以便我可以对其执行某些操作,例如计算年龄组或执行其他任务。我已经编写了此函数的代码,但我仍然需要访问该列来执行此操作。 我很擅长阅读文件,因此我需要帮助。我需要在java中执行此操作。

我尝试了以下内容:

while (s.hasNextLine()) {
    String line = s.nextLine();
    System.out.println(line+"line ?????");
    String[] cols = line.split("|");
    System.out.println("lets see column only=="+cols[2]);
}

然而我的输出只是第一列的第二个字符。

1 个答案:

答案 0 :(得分:3)

  

我试过

...
    String[] cols = line.split("|"); 
...

这不起作用,因为split采用正则表达式,而 |在解释为正则表达式时是一个特殊字符

相反,请尝试

String[] cols = line.split("\\|");
                            ^^