gpt4 book ai didi

java - 当 "\r\n"不起作用时如何读取带有换行符的 csv 文件

转载 作者:行者123 更新时间:2023-12-02 11:43:09 26 4
gpt4 key购买 nike

我是 Java 新手,一直在阅读 Java 文档和其他线程( 12 ),但无法使其工作。

基本上我的 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 最不喜欢的 - 出租车”应该在同一条线上。

最佳答案

readLine() 将返回文件中的下一行,不带行分隔符。因此,在循环的第一次迭代中,lines“How are”,在第二次迭代中,lines“you” 。它们都不包含 "\r\n",因此您对 replaceAll(...) 的调用仅返回相同的字符串。

然后,System.out.println(...) 打印文本并附加行分隔符,这样您就可以回到开始的地方。 p>

您可以将所有行收集到一个列表中:

List<String> lines = Files.readAllLines(csv);

然后使用String.join(...)连接它们:

String allLines = String.join(" ", lines);

关于java - 当 "\r\n"不起作用时如何读取带有换行符的 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48388602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com