gpt4 book ai didi

java - 在java中读取CSV文件会在每个字符之间添加空格

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:53:01 27 4
gpt4 key购买 nike

我正在阅读从 google trend 下载的 CSV 文件,这是在记事本中打开时文件的内容(仅前两行):

ferrari ferrari (std error)
0.735 2%

当我使用 readline 读取文件时,读取的行包含每个字符之间的空格,在上述情况下,输出为:

f e r r a r i f e r r a r i ( s t d e r r o r )
0 . 7 3 5 2 %

(“ferrari”和“ferrari”之间以及 0.735 和 2% 之间有标签,stackoverflow 没有显示)

每行末尾的换行符也被读取两次。为什么会这样?有什么解决办法吗?

这是我用来读取文件的代码:

BufferedReader Reader = new BufferedReader(new FileReader("trend.csv"));
String line = null;
while ((line = Reader.readLine()) != null)
System.out.println(line);

编辑:文件开头也有一些奇怪的字符读取

Edut:找到了解决方案

是编码问题,把第一行改成:

BufferedReader Reader = new BufferedReader(new InputStreamReader(new FileInputStream("trend.csv"), "UTF-16"));

最佳答案

是字符编码的问题...我刚从trends上下载了文件试了一下,还是有同样的问题。

如果我使用 UTF-16 字符集,我就解决了这个问题。

public class TrendReader
{
public static void main(String args[]) throws Exception
{
//BufferedReader Reader = new BufferedReader(new FileReader("trends.csv"));
BufferedReader Reader = new BufferedReader(new InputStreamReader(new FileInputStream("trends.csv"), "UTF-16"));
String line = null;
while ((line = Reader.readLine()) != null)
{
System.out.println(line);
}
}
}

关于java - 在java中读取CSV文件会在每个字符之间添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8737658/

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