java将多个url文件下载,打包成压缩包下载到本地
时间: 2024-02-06 15:03:58 浏览: 79
你可以使用Java的URLConnection类和BufferedInputStream类来下载多个文件,然后使用Java的ZipOutputStream类将这些文件打包成一个压缩包。
以下是一个示例代码:
```java
import java.io.*;
import java.net.*;
import java.util.zip.*;
public class FileDownloader {
public static void main(String[] args) throws Exception {
// 定义要下载的文件url列表
String[] urls = {"http://example.com/file1.txt", "http://example.com/file2.txt"};
// 定义保存压缩包的本地文件路径
String outputFile = "output.zip";
// 创建URLConnection并下载文件
byte[] buffer = new byte[1024];
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(outputFile)));
for (String url : urls) {
URL downloadUrl = new URL(url);
URLConnection connection = downloadUrl.openConnection();
connection.connect();
InputStream in = new BufferedInputStream(connection.getInputStream());
// 获取文件名
String fileName = url.substring(url.lastIndexOf("/") + 1);
// 将文件写入ZipOutputStream
out.putNextEntry(new ZipEntry(fileName));
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
out.write(buffer, 0, bytesRead);
}
in.close();
}
out.close();
}
}
```
这个示例程序将从`http://example.com/file1.txt`和`http://example.com/file2.txt`下载两个文件,并将它们保存在一个名为`output.zip`的压缩包中。你可以根据实际情况修改这个程序。
阅读全文