Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中格式化CSV的行和列_Java_Csv - Fatal编程技术网

如何在Java中格式化CSV的行和列

如何在Java中格式化CSV的行和列,java,csv,Java,Csv,我的最终目标是持续收集数据(可能有700行),并将其发送到CSV以供以后审查。 目前,我的代码正确地发送了数据,但它似乎在同一个位置打印—覆盖最后一个输出并在其位置打印最新的输出。我似乎找不到如何在每个新输出中增加行/列 我的代码: String output = ("The difference b/w sent and received is: " + milliseconds + " milliseconds" ); try (PrintWriter writer = new PrintW

我的最终目标是持续收集数据(可能有700行),并将其发送到CSV以供以后审查。 目前,我的代码正确地发送了数据,但它似乎在同一个位置打印—覆盖最后一个输出并在其位置打印最新的输出。我似乎找不到如何在每个新输出中增加行/列

我的代码:

String output = ("The difference b/w sent and received is: " + milliseconds + " milliseconds" );
try (PrintWriter writer = new PrintWriter(new File("/storage/self/primary/Download/test.xlsx"))) {
    StringBuilder sb = new StringBuilder();
    sb.append(sentTimestamp);
    sb.append('\n');
    sb.append(responseTimestamp);
    sb.append('\n');
    sb.append(output);
    sb.append('\n');
    writer.write(sb.toString());
} catch (FileNotFoundException e) {
    System.out.println(e.getMessage());
}
它显示如下内容:


2019-11-21 07:47:59.18

2019-11-21 07:47:59.492

发送和接收的时间差为:312毫秒



这很好,但是随着每一个新的发送和接收,我希望它打印在一套新的三行。如何在我的CSV中指定行/列?

如果要附加到文件,请在附加模式下打开写入程序
新建PrintWriter(新建FileWriter(“c:/…”,true))是否替换为:(PrintWriter writer=new PrintWriter(新文件(“/storage/self/primary/Download/test.xlsx”)??但是,我会让编写器保持打开状态,写入所有数据,然后关闭它,而不是为每组数据打开/关闭;当然,除非数据写入是高度间断的。是的,它取代了您当前的PrintWriter。@LeaCasper-我希望解决方案对您有效。不要忘记接受答案,以便将来的访问者也可以使用它自信地使用解决方案。检查以了解如何操作。如果有任何疑问/问题,请随时发表评论。