java - 如何在byte[]中制作csv?

标签 java csv

我想知道我应该如何创建一个在 byte[] 中创建 csv 文件的方法。

目前我正在使用这样的东西:

 public byte[] makeCsv(){
      StringBuffer csv= new StringBuffer();
      csv.append("columnheader1;columnheader2\r\n");
      csv.append("cell1;cell2\r\n");
      //...
      return csv.toString().getBytes();
 }

我知道我应该使用流,但我现在不知道使用哪些流。 执行此操作的最佳方法是什么(无需 IO 访问)

最佳答案

没有IO,你的方法就可以了。以下是略有改进。

  StringBuilder csv= new StringBuilder(); // Faster
  csv.append("columnheader1;columnheader2\r\n");
  csv.append("cell1;cell2\r\n");
  //...
  return csv.toString().getBytes("windows-1252"); // Windows Latin-1

您也可以使用 StringWriter。

或者使用 PrintWriter 写入 ByteArrayOutputStream(内存中 IO)。

关于java - 如何在byte[]中制作csv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16039468/

相关文章:

java - 如何确保 A href 的绝对 URL 重定向

java - 如何从单独的线程更新 UI 线程而不阻塞它?

java - 如果多个线程调用CountDownLatch的await()方法会发生什么?

bash - 如何使用 shell 脚本有效地处理大型 csv 文件,以获得比以下脚本更好的性能?

java - 有没有办法改进这个正则表达式代码?

java - 多行表格单元格

powershell - 使用 Out-File 将变量以正确的格式写入 CSV 文件?

java - 将字符串 "8:00"转换为分钟(整数值)

.net - LINQ Concat 两个列表制作一个 csv 列表

ruby-on-rails - Ruby 通过 header 值解析 csv