java - FileWriter 用 Ja​​va 写入用户桌面,而不是服务器桌面

标签 java jsp path filewriter

作为搜索应用程序的一部分,我希望用户能够下载以 CSV 文件形式显示结果的报告。我有以下方法:

public void downloadCustomerResults(String customer) {
        String output = "";
        output += produceCustomerID(customer);
        output += produceCustomerAddress(customer);
        output += produceCustomerContactDetails(customer);
        output += produceOrderHeader(customer);
        output += producePayments(customer);

        //  Writes to server desktop, not user desktop.
        try {
            Writer fileWriter = new FileWriter("C:\\Users\\username\\Desktop\\SAR" + customer + "C.csv");
            fileWriter.write(output);
            fileWriter.flush();
            fileWriter.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

这会将文件下载到运行服务器的计算机的桌面,而不是用户的桌面(通过 Tomcat 上的 JSP 访问应用程序)。如何更改文件路径字符串以将此下载到用户的桌面?或者我是否必须将文件传递到 JSP 以便用户通过浏览器下载?

谢谢。

最佳答案

简短回答:服务器无法访问客户端的文件系统。

更长的答案:您可以为客户端提供下载文件的服务(例如,可通过 URI 访问的 Web 服务,如 @Kayaman 提到的),或者客户端为您提供写入文件的服务(例如远程文件系统) 、FTP 服务器等)。对于后者,可能有提供特殊java.nio.FileSystem扩展的库。

您还可以提供在客户端上运行的应用程序来接收文件。然后,该客户端应用程序将可以访问客户端的文件系统(当然,除非它缺乏访问权限)。

关于java - FileWriter 用 Ja​​va 写入用户桌面,而不是服务器桌面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59861037/

相关文章:

java - Spring JasperException JSTL 标签

java - 在 Linux 中为 Java 设置路径

java - 显示树中每片叶子的完整路径

java - 在 Java 中使用 PHP 和 Mapreduce 从 HBase 添加/查看/删除数据?

java - 如何从 PagerAdapter 类更改 fragment 的 TextView

java - GAE channel 在一段时间后不起作用

mysql - 如何在同一页面登录用户和管理员

spring - Servlet URL 模式匹配所有 URL

java - 如何从oracle集合中检索clob数据

linux - 查找 zip 文件、打印路径和 zip 内容