怎么压缩文件成zip格式(电脑怎么压缩文件成zip格式)
2024-02-03 15:08 来源:踏青网 点击:
怎么压缩文件成zip格式(电脑怎么压缩文件成zip格式)
一、导入相关依赖包
org.apache.antant1.8.1

二、创建相应的工具类
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import com.xxx.xxx.entity.xxx.WkcrWord;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;
/**
* 解压文件的工具类
*/
public class ZipUtil {
/**
* 解压文件
* @param directory 文件目录
* @param zip 文件zip的压缩包
*/
public static ListunZipFile(String directory, File zip) {
ListfilePathList=new ArrayList<>();
try {
int count;
int buffer = 2048;
File file;
InputStream is;
FileOutputStream fos;
BufferedOutputStream bos;
//根据不同环境,不同的文件,需要使用到不同的编码格式
ZipFile zipFile = new ZipFile(zip, "GBK");
Enumeration en = zipFile.getEntries();
createFolder(directory);
while (en.hasMoreElements()) {
byte buf[] = new byte[buffer];
ZipEntry entry = (ZipEntry) en.nextElement();
//获取压缩包中的文件的名字
String fileName = entry.getName();
if(fileName.contains("/")){
fileName=fileName.substring(fileName.lastIndexOf("/")+1);
}
String filePath = directory + fileName;
//根据业务逻辑创建相应的实体类
WkcrWord wkcrWord=new WkcrWord();
wkcrWord.setName(fileName);
wkcrWord.setWordUrl(filePath);
//根据不同的文件后缀设置正则表达式
String compile = ".*.doc.*|.*.docx.*";
//符合的保存
if(filePath.matches(compile)){
filePathList.add(wkcrWord);
}
if(entry.isDirectory()){
createFolder(filePath);
}else{
file = new File(filePath);
file.createNewFile();
is = zipFile.getInputStream(entry);
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos, buffer);
while ((count = is.read(buf)) > -1) {
bos.write(buf, 0, count);
}
bos.close();
fos.close();
is.close();
}
}
zipFile.close();
//遍历当前上传的word进行转化为html进行相应的保存
filePathList.stream().forEach(wkcrWord-> wkcrWord.setWordTxt(DocTableReadUtil.saveWord(wkcrWord.getWordUrl(),wkcrWord.getName())));
} catch (IOException e) {
e.printStackTrace();
}finally {
zip.delete();
}
return filePathList;
}
/**
* 创建目录
* @param path 文件的目录
*/
private static void createFolder(String path) {
try {
File uploadFilePath = new File(path);
if (uploadFilePath.exists() == false) {
uploadFilePath.mkdirs();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}




相关标签:
-
- 四大文明有哪些(世界文明古国是哪四个)
-
2024-02-03 15:06:42
-
- 能量保护罩怎么获得(2023能量保护罩怎么获得)
-
2024-02-03 15:04:27
-
- 主任科员一二三四级对应的级别(一二三四级科员是什么级别)
-
2024-02-03 15:02:13
-
- 秋葵煮多久才熟(怎么炒秋葵)
-
2024-02-03 14:59:58
-
- 中央对拆迁六不准(中央对拆迁六不准是什么时候发表的)
-
2024-02-03 14:57:43
-
- 雅典娜雕像(雅典娜雕像在哪里)
-
2024-02-03 03:16:03
-
- 天台是哪里(天台是哪里的城市)
-
2024-02-03 03:13:48
-
- 苹果最近删除的照片删除怎么恢复(苹果最近删除的照片删除怎么恢复教程)
-
2024-02-03 03:11:34
-
- 河北酒品牌有哪些(河北酒品牌有哪些大红坛)
-
2024-02-03 03:09:18
-
- 芬兰和中国关系(芬兰和中国隔几个国家)
-
2024-02-03 03:07:04
-
- 蹿的读音是什么(蹿怎么读音读出)
-
2024-02-03 03:04:49
-
- 婴儿百天祝福语八个字(婴儿满月祝福语)
-
2024-02-03 03:02:34
-
- 汶川地震伤亡人数(汶川地震伤亡人数统计)
-
2024-02-03 03:00:19
-
- 王莽是穿越者的十大证据(为什么说王莽是穿越者-看看证明王莽穿越的六大证据)
-
2024-02-03 02:58:04
-
- 每天1200大卡一个月瘦多少斤(每天吃1200大卡一个月瘦多少斤)
-
2024-02-03 02:55:50
-
- 女明星人气排行榜(最新女明星人气排行榜)
-
2024-02-02 15:14:01
-
- 满洲国是现在中国哪个地方(满洲里是现在中国哪个地方的城市)
-
2024-02-02 15:11:47
-
- 教师教学评语简短(教师教学评语大全)
-
2024-02-02 15:09:32
-
- 江湖夜雨十年灯(江湖夜雨十年灯小说)
-
2024-02-02 15:07:17
-
- 电脑桌面没有我的电脑怎么办(电脑开机无法进入桌面系统)
-
2024-02-02 15:05:03



苍月奥特曼:来自宇宙的战士
字节跳动市值多少亿(字节跳动高估值的原因)