我正在寻找正确处理 Unicode 数据的 CSV(逗号分隔值)解析器的 Java 实现,例如带有中文文本的 UTF-8 CSV 文件。我想这样的解析器应该在迭代、比较等时在内部使用与代码点相关的方法。Apache 2 许可证或类似的许可证效果最好。
2621 次
3 回答
4
于 2009-12-23T18:40:47.190 回答
0
你试过Commons CSV吗?
于 2009-12-23T19:58:18.610 回答
-1
自己写很容易。使用 FileInputStream 和使用 UTF-8 的 InputStreamReader 打开文件。将其包装在 BufferedReader 中,您可以使用 readLine() 对其进行迭代。将每一行作为字符串获取。使用正则表达式将其拆分为字段。
唯一棘手的部分是构造正则表达式,因此它们不会将引号内的逗号视为字段分隔符。
上面的方法效率有点低,但对于大多数应用程序来说已经足够快了。如果您有真正的性能要求,那么您将需要一些可以遍历字符的东西。几年前我写了一个,它使用了一个工作正常的状态机。
于 2009-12-23T18:32:44.343 回答