gpt4 book ai didi

java - 从 byte[] 写入 csv 文件

转载 作者:行者123 更新时间:2023-11-29 08:44:19 28 4
gpt4 key购买 nike

我在 byte[] 中获取一个文件,其中的值用引号分隔,我想使用 OpenCSV 将其保存为 CSV。我是using this将其保存为 CSV 格式。

下面是我的代码将byte[]转换成数组然后存入文件

byte[] bytes = myByteStream.getFile();

String decoded = new String(bytes, "UTF-8");
//String lines[] = decoded.split("\\r?\\n");


FileOutputStream fos = new FileOutputStream("/home/myPC/Desktop/test.csv");
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
CSVWriter writer = new CSVWriter(osw);
String[] row = {decoded};

writer.writeNext(row);
writer.close();
osw.close();

但是上面的代码在周围放置了额外的引号,并将所有行合并为一行。

关于如何正确执行此操作的任何帮助?

最佳答案

您可以防止在 CSVWriter 的构造函数中为单元格值添加引号,例如:

CSVWriter writer = new CSVWriter(osw, CSVWriter.DEFAULT_SEPARATOR, CSVWriter.NO_QUOTE_CHARACTER);

关于整个字节数组作为单行持久化。您确定原始文件中有换行符吗?

如果是这样,您可以通过执行以下操作来逃脱:

    BufferedReader reader = new BufferedReader(new InputStreamReader(stream, "ASCII"));

String line;
while ((line = reader.readLine()) != null) {
// Handle the line, ideally in a separate method
}

splitting a byte array on a particular byte得到这个

关于java - 从 byte[] 写入 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37540414/

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