引入jar包
<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>1.3.2</version>
</dependency>
代码示例
@PostMapping("/uploadFile")
@ResponseBody
public ResponseEntity upload(HttpServletRequest request) throws IOException,ZipException {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
//files对应前端的key
MultipartFile multipartFile = multipartRequest.getFile("file");
String zipName = multipartFile.getOriginalFilename();
String path = "D:\\zip";
File file = new File(path+zipName);
if(!file.getParentFile().exists()){
file.getParentFile().mkdirs();
}
multipartFile.transferTo(file);
//解压
ZipFile zFile = new ZipFile(file);
zFile.setFileNameCharset("gbk");
String dest = "D:\\zip\\extract";
File destDir = new File(dest);
zFile.extractAll(dest);
//读取解压文件
List<FileHeader> headerList = zFile.getFileHeaders();
for(FileHeader fileHeader : headerList){
System.out.println("isDirectory = "+ fileHeader.isDirectory());
System.out.println("fileNamr = "+ fileHeader.getFileName());
}
return null;
}