首页 热点资讯 义务教育 高等教育 出国留学 考研考公

怎么将一个文件夹压缩成jar包

发布网友 发布时间:2022-04-22 06:01

我来回答

2个回答

热心网友 时间:2023-07-03 14:00

先解压,然后压缩为zip,然后将后缀名改为jar。
本java小工具是可实现批量压缩文件包为jar包,核心代码如下:

/**
* zip压缩
* @param parentDirPath 要压缩文件夹的父文件夹
* @param targetPath 目标文件夹
*/
private static void zipDirectory(String parentDirPath,String targetPath)
{
try {
File dirFile=new File(parentDirPath);
File[] listArr = dirFile.listFiles();
for (File childFile : listArr) {
//File childFile=new File(child);
if(childFile.isDirectory())
{
if(list.size()>0)
list.clear();
byte b[] = new byte[128];
//压缩文件的保存路径
String zipFile =targetPath+File.separator+childFile.getName()+".jar";

//压缩文件目录
String filepath =childFile.getAbsolutePath()+File.separator;

List fileList = allFile(filepath);

FileOutputStream fileOutputStream = new FileOutputStream(zipFile);
//使用输出流检查
CheckedOutputStream cs = new CheckedOutputStream(fileOutputStream, new CRC32());
//声明输出zip流
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(
cs));

for (int i = 0; i < fileList.size(); i++) {
InputStream in = new FileInputStream((String)fileList.get(i));
String fileName = ((String)(fileList.get(i))).replace(File.separatorChar,'/');
System.out.println("ziping " + fileName);
String tmp= childFile.getName()+"/";
fileName = fileName.substring(fileName.lastIndexOf(tmp)+childFile.getName().length()+1);
ZipEntry e = new ZipEntry(fileName);
out.putNextEntry(e);
int len = 0;
while((len = in.read(b)) != -1) {
out.write(b,0,len);
}
out.closeEntry();
}
out.close();
System.out.println("done!");
}
}

} catch (Exception e) {
e.printStackTrace();
}

}

热心网友 时间:2023-07-03 14:01

先解压,然后压缩为zip,然后将后缀名改为jar。 本java小工具是可实现批量压缩文件包为jar包,核心代码如下: /** * zip压缩 * @param parentDirPath 要压缩文件夹的父文件夹 * @param targetPath 目标文件夹 */ private static void zipDirecto...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com