扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
public static void makeZip(ListFile fileList,String zipPath,boolean isDelete) {
原州网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联建站从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
byte[] buf = new byte[1024];
try {
// Create the ZIP file
File zipFile = new File(zipPath);
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFile));
// Compress the files
for (int i = 0; i fileList.size(); i++) {
FileInputStream in = new FileInputStream(fileList.get(i));
// Add ZIP entry to output stream.
out.putNextEntry(new ZipEntry(fileList.get(i).getName()));
// Transfer bytes from the file to the ZIP file
int len;
while ( (len = in.read(buf)) 0) {
out.write(buf, 0, len);
}
// Complete the entry
out.closeEntry();
in.close();
}
// Complete the ZIP file
out.close();
System.out.println("压缩完成.");
//把旧的文件删除
if(isDelete == true){
for (int i = 0; i fileList.size(); i++) {
File oldFile = fileList.get(i);
oldFile.delete();
}
}
}
catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args){
File in1=new File("D:\\a.txt");
File in2=new File("D:\\b.txt");
File[] file=new File[]{in1,in2};
File zip=new File("D:\\ab.zip");
IDMZip mgr=new IDMZip();
mgr.ZipFiles(file, zip);
}
这个方法不管你是在windows下还是在linux下,都能正常执行。
byte[] buf = new byte[4096*2];
//建立字节数组输入流
ByteArrayInputStream i = new ByteArrayInputStream(buffer);
//建立gzip解压输入流
GZIPInputStream gzin = new GZIPInputStream(i);
int size = gzin.read(buf);
i.close();
gzin.close();
byte b[] = new byte[size];
System.arraycopy(buf,0,b,0,size);
return b;
File file = new File(zipFilePath); 将zip文件路径转换 成文件
zipFile = new ZipFile(file); 调用java util下面的zipfile类
Enumeration? zipEnum = zipFile.entries(); 将zip文件里面的内容都放在迭代器里面了
ZipEntry entry = (ZipEntry) zipEnum.nextElement();,然后迭代出ZipEntry对象。
zipFile.getInputStream(entry)就可以得到所需要的流了,之后做你需要的操作。
1、在Windows系统环境下,安装解压软件,本人以【360压缩】软件为例。
2、找到要解压的.rar.gz文件,右击选择【解压到 ***\(*为文件名)】。
3、图为解压过程。
4、解压完成后,我们便可在当前文件夹下找到解压后的文件。
扩展资料:
linux .gz的解压方法
1、正常情况下,.gz文件,我们可以使用gunzip命令来解压,即如下输入命令:gunzip HelloWorld.java.gz 可解压生成 HelloWorld.java文件,可用vim命令进行编辑。
2、但有时我们明明已经使用gunzip命令解压.gz文件了,可解压生成的文件却依然无法正常读取。如输入命令gunzip HelloWorld.java.gz后,解压生成HelloWorld.java文件,却无法正常使用vi命令进行编辑,打开看到一堆乱码!
4、会出现这种情况,最主要的原因是:由于在linux系统中扩展名可有可无,部分朋友对书写扩展名不是太在意,或者可能是在书写过程中,一时大意,总之,就是书写扩展名时不太规范。要知道,在linux系统中gzip解压命令一般是不单独使用的,而是被命令tar使用参数“z”来调用的。如:tar cvzf HelloWorld.tar.gz HelloWorld.*
5、大家可以看到这时生成的文件扩展名是.tar.gz,而很多小伙伴在书写时很容易就直接写成了.gz。这样本来是需要使用tar zxvf命令来解压的,却被只用gunzip解压,这就造成前面解压后文件不能正常编辑的情况。
6、所以前面使用gunzip解压生成的文件其实还不是普通文件,而是使用tar命令生成的一个包文件。这是我们还需继续运行命令:tar xvf HelloWorld.java,可以看到tar解包后的文件就可以正常使用vi命令编辑了。
最后怎么解决的,我现在也遇到这个问题了,单个文件可以解压可以压缩,写入的测试内容也在,换成文件夹就不行了。能找到的案例全都是解压成文件,但是本身是个文件夹的GZ包解压了以后也打不开。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流