如何将csv文件转换为ByteArrayResource

matteo88:

我正在进行数据导出。用户可以在“ xls”和“ csv”之间选择文件格式。根据规范,spring控制器中的export方法必须返回ByteArrayResource。在服务类内部,我没有问题可以将xls文件转换为ByteArrayResource,但对于csv文件却不一样。

//INSIDE SERVICE BUSINESS LOGIC

public ByteArrayResource generateCsvFile(){

   FileWriter csvWriter = new FileWriter("myFileName.csv");

   //here some logic to build my csv file

   /* I AM NOT ABLE TO CONVERT THE FileWriter IN byte[] IN ORDER TO RETURN IT TO THE CONTROLLER
      I ALSO TRIED TO CONVERT IT TO FileOutputStream OR ANYTHING THAT CAN USE SOMETHING LIKE 
      .getByte() or toByte() BUT I'M NOT FINDING OUT ANY SOLUTIONS */

   return new ByteArrayResource(/*file converted in byte[]*/);
}
路易斯·瓦瑟曼:

请勿使用以开头的任何内容File使用ByteArrayOutputStream和一个OutputStreamWriter

ByteArrayOutputStream out = new ByteArrayOutputStream();
try (Writer writer = new OutputStreamWriter(out)) {
  // write to writer
}
return new ByteArrayResource(out.toByteArray());

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章