代码之家  ›  专栏  ›  技术社区  ›  trolologuy

Java中的文件解析和模式检测

  •  0
  • trolologuy  · 技术社区  · 12 年前

    我的问题很简单, 我正在逐行分析CSV文件 我想得到这些列的值。 使用的分隔符很简单 ; “,但我的文件可能有很多列,而且它们不会总是按相同的顺序排列。

    以我的.CSV文件为例:

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

    我希望能够得到时间的所有值,列A,列B和列C。 最简单的方法是什么?

    我用过 StringUtils.countMatches(input, ";"); 以获取我拥有的分隔符的数量。 我开始尝试制作 String index[][] = {{"time", "columnA", "columnB", "columnC"}{}}; 我的计划是用“ ; “在每个变量之前,这样我就可以很容易地知道哪个结果代表哪个变量。

    但现在我陷入了困境。。。

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

    (很抱歉英语不好)。

    1 回复  |  直到 12 年前
        1
  •  3
  •   user2110286 user2110286    12 年前

    您可以简单地使用 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(";");
    }