【问题标题】:How to write to next line in a csv file in java using FileOutputStream如何使用 FileOutputStream 在 java 中的 csv 文件中写入下一行
【发布时间】:2020-01-09 12:20:08
【问题描述】:

我在变量 average_time 中获得了一个结果,后来我将其转换为字节,以便将其写入 csv 文件。由于我使用了循环,因此获得了 3 次结果。我希望在同一列中将结果一一打印出来。但问题是所有值都写在同一个单元格中。我该如何解决这个问题?

    try{    
        FileOutputStream out=new FileOutputStream("testout.csv");
        String str=Integer.toString(average_time);
        byte b[]=str.getBytes();
        out.write(b);
        }
        out.close();
         //System.out.println("success...");    
        }catch(Exception e){System.out.println(e);}    
  }    

我希望它是 15(换行符) 31(换行符) 48(换行符)

但它显示 153148

【问题讨论】:

  • 每个数字打印完后需要写出out.write("\n")。
  • 谢谢。它奏效了。
  • 提示:使用 Apache Commons CSV 之类的库要容易得多。

标签: java file csv fileoutputstream


【解决方案1】:

只需在 str 中添加“\n”,然后再将其写入文件:

String str=Integer.toString(average_time) + "\n";

【讨论】:

  • "在将 str 写入文件之前,只需将“/n”添加到:" - \n
  • @Nexevis 不!请不要。 System.lineSeparator() 返回一个依赖于操作系统的行分隔符。有了这个,你就为编码问题做好了准备。
【解决方案2】:

out.write(b); 之后添加这个out.write("\n".getBytes()); 它应该会给你你正在寻找的输出

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-25
    相关资源
    最近更新 更多