输出到CSV时更改java中的分隔符

时间:2011-02-25 23:39:56

标签: java csv

我在网上或书中找不到任何关于此的信息,这是一本大书! Java中有没有办法在输出CSV文件时更改默认分隔符。我想将它从逗号更改为\ t?我想这样做,因为当我输入包含逗号的字符串时,他们会转到下一个单元格,这很痛苦。

任何帮助都会非常棒!

詹姆斯

3 个答案:

答案 0 :(得分:1)

您在使用什么来创建CSV文件?如果您只是使用基本的Java write-to-file方法,那么您应该能够选择分隔符所需的内容。如果您使用的是openCSV之类的第三方API,则应该有一个命令来设置分隔符。

答案 1 :(得分:1)

CSV绝不是标准,Java没有标准支持。难怪你的大书不会谈论它。

我建议使用OpenCSV来写CSV。 CSVWriter's constructor有一个分隔符参数。

编辑:

您在一小时前刚刚提出的问题中得到了相同的答案:Write to CSV that contains comma

答案 2 :(得分:0)

虽然这是非常晚的答案,但它可能有助于某人

  

只需附加" sep = \ t"在CSV字符串之前。

a.e:在Java Servlet中

public class ExportCSV extends HttpServlet {
   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      response.setContentType("text/CSV");
      response.setHeader("Content-Disposition", "attachment; fileName=Test.csv");
      OutputStream lOutputStream = response.getOutputStream();                                              lOutputStream.write("sep=\t".getBytes());
      lOutputStream.write(System.getProperty(LINE_SEPERATOR).getBytes());
      lOutputStream.write(<CSV Byte Array>);
   }
}

N.B:此代码未经过测试,仅供参考。