用jUnrar 上传参数是MultipartFile
时间: 2023-08-10 17:38:14 浏览: 162
如果你想使用jUnrar解压缩MultipartFile,可以使用以下代码示例:
```java
import com.github.junrar.Archive;
import com.github.junrar.exception.RarException;
import com.github.junrar.impl.FileVolumeManager;
import com.github.junrar.rarfile.FileHeader;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class RarReader {
public static void main(String[] args) throws IOException, RarException {
MultipartFile rarFile = // your MultipartFile
File tempFile = File.createTempFile(rarFile.getOriginalFilename(), null);
rarFile.transferTo(tempFile);
FileVolumeManager fileVolumeManager = new FileVolumeManager(tempFile);
Archive archive = new Archive(fileVolumeManager);
FileHeader fileHeader;
while ((fileHeader = archive.nextFileHeader()) != null) {
if (!fileHeader.isDirectory()) {
String fileName = fileHeader.getFileNameString().trim();
File file = new File(tempFile.getParentFile(), fileName);
FileOutputStream fileOutputStream = new FileOutputStream(file);
archive.extractFile(fileHeader, fileOutputStream);
fileOutputStream.close();
}
}
archive.close();
tempFile.delete();
}
}
```
这个示例代码将MultipartFile保存到临时文件中,并使用jUnrar库将文件解压缩到同一目录中。请注意,在解压缩完成后,需要关闭Archive对象并删除临时文件。
阅读全文