public static void makeZip(ListFile fileList,String zipPath,boolean isDelete) {
原州網站制作公司哪家好,找創(chuàng)新互聯建站!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、成都響應式網站建設公司等網站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯建站從2013年開始到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創(chuàng)新互聯建站。
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下,都能正常執(zhí)行。
byte[] buf = new byte[4096*2];
//建立字節(jié)數組輸入流
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系統(tǒng)環(huán)境下,安裝解壓軟件,本人以【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系統(tǒng)中擴展名可有可無,部分朋友對書寫擴展名不是太在意,或者可能是在書寫過程中,一時大意,總之,就是書寫擴展名時不太規(guī)范。要知道,在linux系統(tǒng)中gzip解壓命令一般是不單獨使用的,而是被命令tar使用參數“z”來調用的。如:tar cvzf HelloWorld.tar.gz HelloWorld.*
5、大家可以看到這時生成的文件擴展名是.tar.gz,而很多小伙伴在書寫時很容易就直接寫成了.gz。這樣本來是需要使用tar zxvf命令來解壓的,卻被只用gunzip解壓,這就造成前面解壓后文件不能正常編輯的情況。
6、所以前面使用gunzip解壓生成的文件其實還不是普通文件,而是使用tar命令生成的一個包文件。這是我們還需繼續(xù)運行命令:tar xvf HelloWorld.java,可以看到tar解包后的文件就可以正常使用vi命令編輯了。
最后怎么解決的,我現在也遇到這個問題了,單個文件可以解壓可以壓縮,寫入的測試內容也在,換成文件夾就不行了。能找到的案例全都是解壓成文件,但是本身是個文件夾的GZ包解壓了以后也打不開。
分享名稱:解壓gz文件java代碼 java gz壓縮
本文來源:http://sd-ha.com/article28/hhescp.html
成都網站建設公司_創(chuàng)新互聯,為您提供外貿網站建設、網站排名、營銷型網站建設、微信小程序、建站公司、軟件開發(fā)
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯