jdk11实现http文件下载
时间: 2023-08-23 14:05:31 浏览: 207
在 JDK 11 中,你可以使用 `java.net.http.HttpClient` 类来实现 HTTP 文件下载功能。以下是一个简单的示例代码:
```java
import java.io.FileOutputStream;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.file.Paths;
public class HttpFileDownloader {
public static void main(String[] args) throws Exception {
String url = "http://example.com/file.zip";
String destination = "/path/to/destination/file.zip";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.build();
HttpResponse<java.nio.file.Path> response = client.send(request, HttpResponse.BodyHandlers.ofFile(Paths.get(destination)));
int statusCode = response.statusCode();
if (statusCode == 200) {
System.out.println("File downloaded successfully.");
} else {
System.out.println("File download failed with status " + statusCode);
}
}
}
```
在上面的示例中,我们首先创建了一个 `HttpClient` 对象,然后构建了一个 `HttpRequest` 对象,设置了下载文件的 URL 地址。接着,我们使用 `HttpClient` 对象的 `send()` 方法发送请求,并使用 `HttpResponse.BodyHandlers.ofFile()` 方法将响应体写入到指定的文件路径中。
需要注意的是,在实际使用中,你需要根据实际情况设置 URL 地址和文件保存路径,并处理可能出现的异常情况。
阅读全文