java http下载链接 保存本地
时间: 2025-06-28 08:24:42 浏览: 13
### Java 实现 HTTP 下载文件并保存至本地
为了实现通过 HTTP 协议下载文件并将其保存到本地磁盘,在 Java 中可以利用 `HttpURLConnection` 类来发起网络请求,并使用输入流读取响应数据,再写入到指定路径下的文件中。
#### 创建 HttpUtils.java 文件用于执行 GET 请求
在 Eclipse 开发环境中创建名为 `java_http_get` 的项目,并于 `/src/` 目录下建立 `HttpUtils.java` 文件。此文件内定义了一个静态方法 `downloadFileFromURL()` 来完成具体的下载逻辑[^1]:
```java
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpUtils {
public static void downloadFileFromURL(String fileUrl, String saveFilePath) throws Exception{
URL url = new URL(fileUrl);
HttpURLConnection httpConn = (HttpURLConnection)url.openConnection();
int responseCode = httpConn.getResponseCode();
// Check if the connection was successful
if(responseCode == HttpURLConnection.HTTP_OK){
InputStream inputStream = httpConn.getInputStream();
FileOutputStream outputStream = new FileOutputStream(saveFilePath);
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
outputStream.close();
inputStream.close();
System.out.println("Download completed.");
}else{
throw new RuntimeException("Failed to connect. Response code: "+responseCode);
}
httpConn.disconnect();
}
}
```
上述代码片段展示了如何构建一个简单的工具类来进行 HTTP GET 请求操作以及处理返回的数据流。当接收到服务器正常响应时(状态码为200),程序会逐块读取远程资源的内容并通过字节缓冲区传输给本地的目标位置;一旦遇到错误,则抛出异常提示连接失败的信息。
#### 测试下载功能
假设要从互联网上某个公开地址获取一张图片并存放在 D:\temp\pic1.jpg 路径处,可以在主函数里调用上面的方法进行测试:
```java
public class Main {
public static void main(String[] args)throws Exception {
try {
String imageUrl = "https://example.com/path/to/image/pic1.jpg";
String destinationPath = "D:/temp/pic1.jpg";
HttpUtils.downloadFileFromURL(imageUrl,destinationPath);
} catch(Exception e) {
e.printStackTrace();
}
}
}
```
这段示例代码指定了源图像链接和目的存储路径之后便能启动整个流程,最终会在设定好的目录找到所下载下来的文件副本。
阅读全文
相关推荐


















