如何使用Java从CSV中的第x行和第#列读取值?

时间:2018-02-07 09:39:39

标签: java csv

是否可以从CSV中读取指定行号和列号的特定值。

例如,我的CSV数据如下所示,

CREATE,BulkDevice4981,SENSOR,localhost
CREATE,BulkDevice4081,SENSOR,localhost

我想从行" 1"中读取值和列" 2"没有浏览整个CSV。

我需要这方面的帮助。请帮帮我

1 个答案:

答案 0 :(得分:1)

在没有循环前一行的情况下,你无法读取第n行,但这并不意味着读取整个文件。

因此,要实现您的目标,您需要阅读第n行文件:

try (Stream<String> lines = Files.lines(Paths.get("path/to/your/file"))) {
    String line = lines.skip(LINE_NUMBER).findFirst().get();
}

然后,您可以简单地用逗号分隔行并从列中读取值:

String line = ...
String[] columns = line.split(",")
// columns[2] should contain your value

然而,这是一个相当原始的解决方案,最好使用像opencsv

这样的专用CSV阅读器