Java生成并下载csv文件

时间:2016-07-21 15:17:30

标签: java csv

我正在尝试在使用Tomcat的旧框架Echo Studio 3的Java项目中生成和下载csv文件。

这是我的代码:

List<Object> reportCount = this.getReport(accountId);
ArrayList<String[]> result = new ArrayList<String[]>();
for (Object list: reportCount) {
    String[] rowReport = (String[]) list;
    result.add(new String[]{String.valueOf(rowReport[0]),String.valueOf(rowReport[1])});
}

File filename = new File("report.csv");
FileWriter fw = new FileWriter(filename);
fw.append("Name");
fw.append(',');
fw.append("Count");
fw.append('\n');
for (String[] ls: result){
    fw.append(ls[0].toString());
    fw.append(',');
    fw.append(ls[1].toString());
    fw.append('\n');
}
try {
    fw.flush();
    fw.close();
} catch (Exception e) {
    System.out.println("Error while flushing/closing fileWriter !!!");
    e.printStackTrace();
}

当代码被触发时,没有任何反应,我没有错误消息。当我运行调试模式时,结果填充数据,断点传递抛出flush(),没有错误,客户端没有获取生成的文件,我错过了什么?

1 个答案:

答案 0 :(得分:0)

您正在将文件写入当前工作目录,如果您在像Tomcat这样的容器中运行该程序,这可能是您不期望的。

鉴于您已经看到程序执行调用,我将通过将文件路径更改为绝对路径来测试该假设,以确保代码实际上正确写入。如果确实如此,那么这只是一个路径问题。

您还可以添加一个调用来查找当前工作目录1

相关问题