【发布时间】:2016-09-28 05:46:32
【问题描述】:
我遇到的情况是,我在 byte[] 中获取了一个文件,该文件在引号中有逗号分隔的值,我想将其保存为 CSV 文件和然后读取这个文件。
我通过 byte[] 获取的示例数据:
“你好”、“你好”、“你”、“什么是”、“这个”
“嗨”、“你好”、“你”、“什么是”、“这个”
“你好”、“你好”、“你”、“什么、是”、“这个”
以下是我将其保存为 CSV 格式的代码。
byte[] bytes = myByteStream.getFile();
OutputStream out22 = new FileOutputStream("path/to/file/dummy.csv");
out22.write(bytes);
out22.close();
以及下面的代码来读取这个 CSV 文件。
CSVReader reader = new CSVReader(new FileReader("path/to/file/dummy.csv"), ',');
String[] nextLine;
while ((nextLine = reader.readNext()) != null)
{
System.out.println(nextLine[1]);
}
我面临的问题是引号中有逗号的值,奇怪的是当我打开那个 csv 文件,然后用 csv“另存为”并运行上面的代码来读取它,然后 CSVReader 读取文件适当地。
所以我认为问题在于将文件保存为 csv。无法以 CSV 格式正确保存文件。
任何帮助,关于如何以正确的 CSV 格式保存它?
【问题讨论】:
-
对于傻笑,请在打开 csv 文件并另存为之前对其进行复制。然后 diff 两个文件,看看有什么不同。