gpt4 book ai didi

java - 如何使用 OpenCsv 下载 csv 文件而不写入它

转载 作者:太空宇宙 更新时间:2023-11-04 07:19:31 24 4
gpt4 key购买 nike

我正在使用 OpenCsv API,现在遇到了一些问题。这是我的代码

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();

try {
List<UserRegData> userRegDataList = new ArrayList<UserRegData>();
HttpSession session = request.getSession();
userRegDataList = (List<UserRegData>) session.getAttribute("referralData");
List<String[]> dataToWrite = new ArrayList<String[]>();
String csv = "E:\\carewave_backup\\csv\\UserReferral.csv";
CSVWriter writer = new CSVWriter(new FileWriter(csv));

for (UserRegData obj : userRegDataList) {
dataToWrite.add(new String[]{obj.getReferred_by_name(), obj.getInvitee_name(), obj.getInvitee_email(), obj.getInvitee_date(), obj.getIsInviteeRegistered(), obj.getDate_of_invitee_registered()});
}
writer.writeAll(dataToWrite);
writer.close();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
out.close();
}
}

这个 servlet 基本上从 session 中检索列表并将其写入 csv 文件。这个 servlet 在用户单击下载 csv 按钮后触发。现在我需要的是,浏览器应该给出一个下载对话框。有没有办法以 csv 格式下载它而不先将其写入文件?

最佳答案

我假设您询问如何将服务器上的输出直接流式传输到客户端,而无需先将其写入服务器上的临时文件。

您不需要先将数据写入文件。

  1. 将响应内容类型设置为 text/csv
  2. 在响应对象上调用 getOutputStream()
  3. dataToWrite 的内容作为单独的行写入输出流

无需磁盘文件。

关于java - 如何使用 OpenCsv 下载 csv 文件而不写入它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19510363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com