在Apache Utils中进行CSV读取的最佳方式

时间:2012-09-06 16:10:47

标签: java

CSV阅读的最佳选择是什么?我知道有一种方法可以使用super-csv API,java-csv API。但我的老板问我一个API,它只由Apache组织提供。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:2)

你在原来的问题中说过:

  

仅由Apache组织提供

Apache Commons CSV Project目前位于Commons Sandbox

从Commons CSV页面:

  

目前还没有官方下载,直到CSV移出沙盒,但是http://people.apache.org/builds/commons/nightly/commons-csv/

可以提供夜间版本。

我要提到的一个警告是,我在这里发现的最新夜间版本是2007年7月30日。

99%的时间我主张不重新发明轮子。例如,使用Apache Commons Lang StringUtils,而不是滚动自己的String Utility类来检查空字符串或空字符串。

但是,由于:

  • Apache Commons CSV在Sandbox中
  • 找不到比2007年7月更近的夜间版本
  • 编写自己的CSV解析器相对容易

这是我建议你自己编写的场景。

如果您只需要读取和解析以逗号分隔的值文件,那么您应该能够在没有太多代码或使用核心Java IO和Util类的困难的情况下完成此任务。

您应该能够将java.io.FileReader包裹在java.io.BufferedReader中,逐行阅读。

对于每一行,使用java.util.StringTokenizer分隔逗号。

这是你需要的逻辑,显然你需要照顾关闭读者,异常处理等。