用Javaparsing分号分隔的文件

我有一个Excel文件,内容如下所示。 第一行是标题,第二行是病毒的数据。

Cell A1 contains line below (Header) **IsShooting; Velocity; Location_x; Location_y; Location_z; Onslaught_ONSAV ; ***Event***; EventParams...** Cell A2 contains below 0;0;0;0;0;0;0;0;0;0;0.000;0.000;0;0.000;0.000;None;0;0;0.000;-1983.610;- Cell A3 Contains below ;0.250;0.000;0.000;0.000;0.000;***BOT_KILLED***;CTF-Geothermal.GBxBot10;XWeapons.DamTypeFlakChunk Cell A4 Contains below 4.110;161.900;0.000;0.000;0.000;0.000;0.000;0.000;0.000;0.000;0.000;0.000;0.000;0.000;0.000;4.320;0.000;0.260;0.000;0.000;***FLAG_PICKEDUP***;0;CTF-Geothermal.GBxBot10 

我想知道是否有任何开源的CSVparsing器,我可以这样使用,我可以从Excel中获取数据。

上面的excel文件包含400行数据。 我想要的就是FLAG_PICKEDUP&BOT_KILLED的COUNT。

谢谢!

这是我能想到的最简单的方法。 使用BufferedReader读取每一行。 对于每一行将其分割成一个String数组,然后检查每个String以查看它是否等于定义标志拾取或bot杀死的常量。

我认为Apache使csvparsing器,但我从来没有使用它。 对于这样简单的事情,自己编写代码可能会更容易一些。 这是我在5分钟左右想出来的。

注:所有应有的尊重,stackoverflow通常要求您尝试自己解决问题首先。 既然你没有发布代码,我们不能帮你debugging,我们不知道你是否试图自己解决这个问题。 这很简单,所以我帮了忙,但是如果你先发布你的(失败的)解决scheme,你可能会更容易获得支持。

 public static void main(String[] args) throws Exception { int botKilledCount = 0, flagPickedUpCount = 0; String line, botLiteral = "***BOT_KILLED***", flagLiteral = "***FLAG_PICKEDUP***"; BufferedReader reader = new BufferedReader(new FileReader(new File("!!YOUR FILE HERE!!"))); while ((line = reader.readLine()) != null) for (String s : line.split(";")) if (s.equals(botLiteral)) botKilledCount++; else if (s.equals(flagLiteral)) flagPickedUpCount++; System.out.println("Bot Killed Count: " + botKilledCount + ", Flag Pickup Count: " + flagPickedUpCount); } 

这是输出:

 Bot Killed Count: 1, Flag Pickup Count: 1