Java - 파일을 ZIP으로 압축

java.util.zip 는 2 단계 Zip 압축 방법을 제공합니다 :
FileInputStream.
ZipEntry ZipOutputStream.

다음 프로그램은 "c:\\FIchier0410.log" 파일을 읽고 "c:\\monFichier.zip"로 압축합니다.

package com.codeurjava.File; 

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public 클래스 zipFile {

public static void main(String[] args) {

final int BUFFER = 2048;

try{
바이트 buffer[] = new byte[BUFFER];

FileOutputStream fileos = 새 FileOutputStream("C:\\monFichier.zip");
ZipOutputStream zipos = 새로운 ZipOutputStream(fileos);
ZipEntry zipentry= new ZipEntry("c:\\Fichier0410.log");
zipos.putNextEntry(zipentry);
FileInputStream in = 새 FileInputStream("c:\\Fichier0410.log");

int lec;
while ((lec = in.read(buffer)) > 0) {
zipos.write(buffer, 0, lec);
}

in.close();
zipos.closeEntry()를 호출합니다.
zipos.close();

System.out.println("압축 파일이 생성되었습니다!");

}catch(IOException ex){
ex.printStackTrace();
}

}

}
런타임:

압축 파일이 생성되었습니다!

폴더에서 여러 파일을 재귀적으로 압축합니다

"c:\\ test"를 열고 "c:\\monFichier.zip"로 압축합니다. 이 프로그램은 .

package com.codeurjava.File; 

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public 클래스 zipFile {

최종 정적 문자열 dossier_src = "c:\\test";
최종 정적 문자열 fichier_zip_desc = "monFichier.zip";
정적 목록< 문자열> 목록;

public static void main(String[] args) {

final int BUFFER = 2048;

파일 노드 = 새 파일(dossier_src);
목록 = new ArrayList();
파일(노드) 목록;

try{
바이트 buffer[] = new byte[BUFFER];

FileOutputStream fileos = 새로운 FileOutputStream(fichier_zip_desc);
ZipOutputStream zipos = 새로운 ZipOutputStream(fileos);

for(문자열 파일: 목록){
ZipEntry zipentry= new ZipEntry(file);
zipos.putNextEntry(zipentry);
FileInputStream in =
new FileInputStream(dossier_src + File.separator + file);

int lec;
while ((lec = in.read(buffer)) > 0) {
zipos.write(buffer, 0, lec);
}

in.close();
System.out.println("+file+" 파일 추가됨");
}

zipos.closeEntry();
zipos.close();

System.out.println("압축 파일이 생성되었습니다!");

}catch(IOException ex){
ex.printStackTrace();
}

}

public static List filenode{

//파일 추가
if(node.isFile()){
String file = node.getAbsoluteFile().toString();
문자열 경로 = file.substring(dossier_src.length()+1, file.length());
list.add(경로);
}

if(node.isDirectory()){
문자열[] 하위 파일 = node.list();
for(문자열 파일 이름: 하위 파일){
filelist(새 파일(노드, 파일 이름));
}
}
반환 목록;
}
}
런타임:

img_01.jpg 파일 추가
pdf 파일\java.pdf 추가됨
table.sql 파일 추가됨
Word 파일\코스 java.docx 추가됨
압축 파일이 생성되었습니다!

리소스: