Java - HttpClient 下载文件

发布时间:2025-12-09 20:45:08 浏览次数:5

文章目录

  • 环境
  • 前言
  • HTTP 下载
  • 总结

环境

JDK 15

前言

当我们的业务需求里有文件下载功能, 后端开发人员如何提前自测下载?
如果链接的 HTTP 方法为 GET 时可以直接到浏览器访问下载, 但如果是其它 HTTP 方法呢?
postman? idea 自带的 http request?
但上面两个工具都无法很好的满足我们的需求, 此时, 身为程序员的我们就可以自己写代码, 完善自己的工具箱.
由于个人电脑一般装有最新版 JDK, 所以使用从 JDK 11 开始就有的 http 模块.

HTTP 下载

先看代码:

HttpClient httpClient = HttpClient.newHttpClient();URI uri = URI.create("https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe");// HttpRequest.BodyPublisher bodyPublisher = HttpRequest.BodyPublishers.ofString("{}");HttpRequest request = HttpRequest.newBuilder(uri)// .headers("Content-Type", "application/json")// .POST(bodyPublisher).build();HttpResponse.BodyHandler<Path> pathBodyHandler = HttpResponse.BodyHandlers.ofFile(Path.of("rustup-init.exe"));HttpResponse<Path> response = httpClient.send(request, pathBodyHandler);System.out.println(response);

上面的代码简单的描述了如何使用 Java 代码进行 HTTP 请求, 其中注释了的代码是 POST 方法的请求, 执行之后在工作目录可以看到 rustup-init.exe 文件.

总结

在最新版 JDK 中已经包含了 HttpClient 功能, Apache 的 HttpClient jar 包也可以不再使用.

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477