我正在编写一些应该解析具有不同列类型和值的 csv 文件的 java 代码。基本文件看起来像这样 (CSV),没有标题/列行。为了在处理文件时更简单,我希望能够使用列名访问每个单元格的索引值。我现在不想使用 CSV 解析器。
Column1 | Column2 | Column3 |...
--------+---------+---------+---
val10 | val20 | val30 |
val11 | val21 | val31 |
val12 | val22 | val32 |
... | ... | ... |
我考虑过使用列名的 ArrayList(按顺序),因为枚举不会像 C++ 中那样转换回整数。这样我可以做类似的事情:
ArrayList<String> columnNames = new ArrayList<String>();
columnNames.add("Column1");
columnNames.add("Column2");
columnNames.add("Column3");
// read each line from the file ...
String[] row = line.trim().split(",");
String col2 = row[ columnNames.indexOf("Column2") ];
我对Java相当陌生-有更好/更智能的方法吗?谢谢。