0

我的问题很简单,我正在逐行解析 CSV 文件,我想获取列的值。使用的分隔符只是“ ;”,但我的文件可以有很多列,而且它们不会总是以相同的顺序排列。

以我的 .CSV 文件为例:

time;columnA;columnB,ColumnC
27-08-2013 14:43:00; this is a text; this too; same here

希望能够获得时间、columnA、columnB 和columnC 的所有值。最简单的方法是什么?

我曾经StringUtils.countMatches(input, ";");得到我拥有的分隔符的数量。我开始尝试制作一个String index[][] = {{"time", "columnA", "columnB", "columnC"}{}}; 并且我的计划是在每个变量之前用“”的数量填充它;,这样我现在可以轻松地哪个结果代表哪个变量。

但现在我很困...

如果你想让我展示更多我的代码,我可以。希望有人能帮助我!:)

(对不起英语不好)。

4

1 回答 1

3

您可以简单地使用split()方法

例如:

Scanner aScanner = ...
ArrayList<String> L = new ArrayList<String>();
while(aScanner.hasNextLine()){
    L.add(aScanner.nextLine());
}
int rows = L.size();
String[][] S = new String[rows][];
for (int i = 0; i < rows; i++) {
    S[i] = L.get(i).split(";");
}
于 2013-08-27T12:56:27.327 回答