【发布时间】:2022-12-15 07:03:35
【问题描述】:
Outputstream 不会在单个单元格中写入逗号分隔值,而是打破值并在每个单元格中写入每个逗号分隔值。
我的机器中有一个 csv 文件。在 csv 文件中,几乎没有包含逗号分隔值的值写在一个单元格中(如图 A 中突出显示的那样)。
我正在尝试将文件的内容写入另一个位置。所以我从 X 位置读取文件作为输入流,并使用输出流将输入流写入另一个位置。
实际输出(图 B):
由于文件在单元格内具有逗号分隔值(即 PIC A 中突出显示的值),因此在写入输入流时,必须在单元格中写入的逗号分隔值将打印在下一个单元格中,以便其他值也被移动. (如图B所示)。
片段:
try {
int read;
while ((read = inputStream.read(bytes)) != -1) {
outputStream.write(bytes, 0, read);
}
} catch (Exception e) {
}
如果有任何其他方法可以解决此问题,请告诉我。
【问题讨论】:
-
永远不要隐藏异常。如果你这样做,你永远不会知道你遇到了什么问题
-
请展示一个完整的、可运行的例子。 inputStream 和 outputStream 是什么类?
-
如果你看原来的电子表格程序中的 .csv 文件,它的行为是否符合您的预期?
-
@tgdavies 是的,原始文件按预期打开。使用的类是:import java.io.File;导入 java.io.FileInputStream;导入 java.io.FileOutputStream;
-
@Stultuske 因为这是一个示例 sn-p,所以我将其留空...将在必要时记录/抛出异常。
标签: java inputstream outputstream