java批量下载文件打包
时间: 2023-08-27 22:05:55 浏览: 195
您可以使用Java的`java.util.zip`包来实现批量下载文件并打包成一个压缩文件。下面是一个简单的示例代码:
```java
import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class FileDownloader {
public static void main(String[] args) {
String[] fileUrls = {
"http://example.com/file1.txt",
"http://example.com/file2.txt",
"http://example.com/file3.txt"
};
String outputZipFile = "output.zip";
try {
// 创建输出流,用于写入压缩文件
FileOutputStream fos = new FileOutputStream(outputZipFile);
ZipOutputStream zos = new ZipOutputStream(fos);
// 遍历文件URL列表,逐个下载文件并写入压缩文件
for (String fileUrl : fileUrls) {
String fileName = fileUrl.substring(fileUrl.lastIndexOf("/") + 1);
InputStream is = new BufferedInputStream(new URL(fileUrl).openStream());
ZipEntry entry = new ZipEntry(fileName);
zos.putNextEntry(entry);
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = is.read(buffer)) != -1) {
zos.write(buffer, 0, bytesRead);
}
is.close();
zos.closeEntry();
}
// 关闭流
zos.close();
fos.close();
System.out.println("文件下载并打包完成!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上述示例中,您需要将`fileUrls`数组替换为您要下载的文件URL列表,将`outputZipFile`字符串替换为您想要生成的压缩文件的文件名。该代码会逐个下载文件并将其写入压缩文件中。最后,您可以在控制台输出中看到提示,确认下载和打包过程已完成。
请注意,此示例仅仅是一个简单的实现,您可能需要根据您的具体需求进行适当的修改和优化。
阅读全文