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 Listfilenode{
//파일 추가
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 추가됨
압축 파일이 생성되었습니다!
리소스: