導航:首頁 > 文件目錄 > java文件夾壓縮文件

java文件夾壓縮文件

發布時間:2025-05-29 22:04:58

① 如何使用java壓縮文件夾成為zip包(最簡單的

import java.io.File;

public class ZipCompressorByAnt {

private File zipFile;

/**
* 壓縮文件構造函數
* @param pathName 最終壓縮生成的壓縮文件:目錄+壓縮文件名.zip
*/
public ZipCompressorByAnt(String finalFile) {
zipFile = new File(finalFile);
}

/**
* 執行壓縮操作
* @param srcPathName 需要被壓縮的文件/文件夾
*/
public void compressExe(String srcPathName) {
System.out.println("srcPathName="+srcPathName);

File srcdir = new File(srcPathName);
if (!srcdir.exists()){
throw new RuntimeException(srcPathName + "不存在!");
}

Project prj = new Project();
Zip zip = new Zip();
zip.setProject(prj);
zip.setDestFile(zipFile);
FileSet fileSet = new FileSet();
fileSet.setProject(prj);
fileSet.setDir(srcdir);
//fileSet.setIncludes("**/*.java"); //包括哪些文件或文件夾 eg:zip.setIncludes("*.java");
//fileSet.setExcludes(...); //排除哪些文件或文件夾
zip.addFileset(fileSet);
zip.execute();
}

}

public class TestZip {

public static void main(String[] args) {

ZipCompressorByAnt zca = new ZipCompressorByAnt("E:\test1.zip ");
zca.compressExe("E:\test1");
}

}

/*如果 出現ant 的 52 51 50 等版本問題 可以去找對應的ant-1.8.2.jar 我開始用的ant-1.10.1.jar 就是這個包版本高了 一直報verson 52 版本問題*/

② 電腦文件zip如何壓縮java實現對zip文件的壓縮

電腦文件zip如何壓縮(java實現對zip文件的壓縮)
一、java實現壓縮為zip
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.io.OutputStream;
importjava.util.zip.ZipEntry;
importjava.util.zip.ZipOutputStream;
publicclassZipUtils{
privatestaticfinalintBUFFER_SIZE=2*1024;
publicstaticvoiddirFile(Filedir){
File[]files=dir.listFiles();//得到File數組,獲得目錄下所有文件
for(Filefile:files){//遍歷所有的子目錄和文件
if(file.isDirectory()){
dirFile(file);//如果是目錄遞歸調用dirFile()
}
//成功壓縮文件後,對原文件進行刪除
file.delete();
}
//順帶把對應的目錄進行刪除
dir.delete();
}
/**
*壓縮成ZIP方法1
*@paramsrcDir壓縮文件夾路徑
*@paramout壓縮文件輸出流
*@paramKeepDirstructure是否保留原來的目錄結構,true:保留目錄結構;
*false:所有文件跑到壓縮包根目錄下(注意:不保留目錄結構可能會出現同名文件,會壓縮失敗)
*@throwsRuntimeException壓縮失敗會拋出運行時異常
*/
publicstaticvoidtoZip(StringsrcDir,OutputStreamout,booleanKeepDirstructure)
throwsRuntimeException{
longstart=System.currentTimeMillis();
ZipOutputStreamzos=null;
try{
zos=newZipOutputStream(out);
FilesourceFile=newFile(srcDir);
compress(sourceFile,zos,sourceFile.getName(),KeepDirstructure);
longend=System.currentTimeMillis();
System.out.println("壓縮完成,耗時:"+(end-start)+"ms");
}catch(Exceptione){
thrownewRuntimeException("ziperrorfromZipUtils",e);
}finally{
if(zos!=null){
try{
zos.close();
}catch(IOExceptione){
e.printstacktrace();
}
}
}
}
/**
*遞歸壓縮方法
*@paramsourceFile源文件
*@paramzoszip輸出流
*@paramname壓縮後的名稱
*@paramKeepDirstructure是否保留原來的目錄結構,會壓縮失敗)
*@throwsException
*/
privatestaticvoidcompress(FilesourceFile,ZipOutputStreamzos,Stringname,
booleanKeepDirstructure)throwsException{
byte[]buf=newbyte[BUFFER_SIZE];
if(sourceFile.isFile()){
//向zip輸出流中添加一個zip實體,構造器中name為zip實體的文件的名字
zos.putNextEntry(newZipEntry(name));
//文件到zip輸出流中
intlen;
FileInputStreamin=newFileInputStream(sourceFile);
while((len=in.read(buf))!=-1){
zos.write(buf,len);
}
//Completetheentry
zos.closeEntry();
in.close();
}else{
File[]listFiles=sourceFile.listFiles();
if(listFiles==null||listFiles.length==0){
//需要保留原來的文件結構時,需要對空文件夾進行處理
if(KeepDirstructure){
//空文件夾的處理
zos.putNextEntry(newZipEntry(name+"/"));
//沒有文件,不需要文件的
zos.closeEntry();
}
}else{
for(Filefile:listFiles){
//判斷是否需要保留原來的文件結構
if(KeepDirstructure){
//注意:file.getName()前面需要帶上父文件夾的名字加一斜杠,
//不然最後壓縮包中就不能保留原來的文件結構,即:所有文件都跑到壓縮包根目錄下了
compress(file,name+"/"+file.getName(),KeepDirstructure);
}else{
compress(file,file.getName(),KeepDirstructure);
}
}
}
}
}
}

③ java文件寫入後下載下來為啥是壓縮包

該原因是在寫入文件時使用了壓縮演算法,或者在下載文件時使用了壓縮格式。
如果在寫入文件時使用了壓縮演算法,例如使用GZIPOutputStream或ZipOutputStream等類來寫入文件,那麼寫入的文件就是壓縮文件。
在下載文件時,如果使用了壓縮格式,例如ZIP或GZIP等格式,那麼下載下來的文件就是壓縮包。

閱讀全文

與java文件夾壓縮文件相關的資料

熱點內容
servlet資料庫連接 瀏覽:795
重慶java培訓機構排名 瀏覽:515
刪除uc文件中的視頻文件 瀏覽:858
美圖軟體文件夾分組名稱 瀏覽:766
在手機上如何把文件裡面的移出來 瀏覽:884
如何用電腦編程看vip電視劇 瀏覽:646
win7漫遊配置文件 瀏覽:340
如何取消xp共享密碼 瀏覽:844
sms網格如何保存為dat文件 瀏覽:406
arcgisjs圖層順序 瀏覽:587
怎麼查找電腦里的視頻文件在哪裡設置 瀏覽:343
word文檔表格字體下沉 瀏覽:92
wn10如何查看陰藏文件 瀏覽:891
男性護理app 瀏覽:612
編程掉頭發嚴重怎麼辦 瀏覽:903
蘋果下載必須輕點繼續 瀏覽:473
word2007關閉郵件 瀏覽:320
看以前的港劇哪個app好用 瀏覽:947
能看見共享的文件夾但不能訪問 瀏覽:60
建文件下什麼軟體 瀏覽:781

友情鏈接