【发布时间】:2018-07-01 11:57:58
【问题描述】:
我是 Java 新手,一直在阅读 Java 文档和其他线程 (1,2) 但无法使其工作。
基本上我的 csv 文件几乎没有这样的记录
How are
you
所以我希望我的代码将其作为一行来阅读
How are you
我的代码如下所示:
BufferedReader bReader = new BufferedReader(new InputStreamReader(new FileInputStream(csv),"utf-8"));
while ((line = bReader.readLine()) != null) {
String lines = line.replaceAll("\r\n", " ");
System.out.println(lines);
手动地,当我在you按退格键时,它会返回are,然后我按了空格键。然后就好了。但我有一个包含 29k 记录的大 csv 文件。必须有一种方法可以解决这个问题。你能指点我的方向吗?谢谢。
[编辑]
这就是它的外观。
Fav: Beaver tails.
Least fav: HST not included in prices.
编辑2:
-3166,1054,CF ,5992841,15:37.5,en,13007,12,12,Comments: Favorite and/or least favorite things,0,"Cafe Fun
-Least favourite - cabs"
“Cafe Fun Least Favourite - cabs”应该在同一行。
【问题讨论】:
-
这不是对所有人都有效吗?还是只有少数人?
-
正确处理 CSV 很棘手,尤其是在处理引号字段时。不要编写自己的 CSV 阅读器,使用现有的调试 CSV 库之一。
-
@JimGarrison 你能推荐几个吗?我也去谷歌一下。
-
查找 OpenCSV 或 Apache Commons CSV
-
@matt 我有这样的单元格。我将尝试 Apache Commons csv 并尝试一下。
标签: java replaceall