MultipartFile中zip解压
时间: 2023-12-09 18:36:59 浏览: 45
以下是使用Java的ZipInputStream类解压MultipartFile中的zip文件的示例代码:
```java
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class ZipFileUtil {
public static void unzip(MultipartFile file) throws IOException {
try (ZipInputStream zipInputStream = new ZipInputStream(file.getInputStream())) {
ZipEntry entry;
while ((entry = zipInputStream.getNextEntry()) != null) {
String entryName = entry.getName();
if (!entry.isDirectory()) {
File outputFile = new File(entryName);
File parent = outputFile.getParentFile();
if (!parent.exists()) {
parent.mkdirs();
}
try (FileOutputStream outputStream = new FileOutputStream(outputFile)) {
byte[] buffer = new byte[1024];
int len;
while ((len = zipInputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, len);
}
}
} else {
File dir = new File(entryName);
dir.mkdirs();
}
}
}
}
}
```
这个示例代码使用了Spring框架中的MultipartFile类来处理上传的文件,然后使用Java的ZipInputStream类来解压缩文件。在解压缩过程中,如果遇到的是文件,则将其写入到磁盘上;如果遇到的是目录,则创建一个对应的目录。
相关推荐
![jar](https://img-home.csdnimg.cn/images/20210720083455.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)