Java - ファイルをZIPとして圧縮する

java.util.zip は 2 段階の Zip 圧縮方法を提供します:
Read file with FileInputStream.
ファイル名を ZipEntry ZipOutputStream.

次のプログラムは、ファイル "c:\\FIchier0410.log" を読み込み、"c:\\monFichier.zip" に圧縮します>><><<。

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
インポート java.util.zip.ZipOutputStream;

public class zipFile {

public static void main(String[] args) {

final int BUFFER = 2048;

try{
byte buffer[] = new byte[BUFFER];

FileOutputStream fileos = new FileOutputStream("C:\\monFichier.zip");
ZipOutputStream zipos = new ZipOutputStream(fileos);
ZipEntry zipentry= new ZipEntry("c:\\Fichier0410.log");
zipos.putNextEntry(zipentry);
FileInputStream in = new 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();
}

}

}
Runtime:

圧縮ファイルが作成されました!

フォルダから複数のファイルを再帰的に圧縮します

"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;
インポート java.util.zip.ZipOutputStream;

public class zipFile {

final static String dossier_src = "c:\\test";
final static String fichier_zip_desc = "monFichier.zip";
static List<文字列> リスト;

public static void main(String[] args) {

final int BUFFER = 2048;

File node = new File(dossier_src);
list = new ArrayList();
ファイル(ノード)リスト;

try{
byte buffer[] = new byte[BUFFER];

FileOutputStream fileos = new FileOutputStream(fichier_zip_desc);
ZipOutputStream zipos = new ZipOutputStream(fileos);

for(文字列ファイル: list){
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())){
文字列 file = node.getAbsoluteFile().toString();
文字列パス = file.substring(dossier_src.length()+1, file.length());
list.add(path);
}

if(node.isDirectory()){
文字列[] subFile = node.list();
for(文字列ファイル名: subFile){
filelist(new File(node, filename));
}
}
戻りリスト。
}
}
Runtime:

追加img_01.jpgファイル
pdfファイル\java.pdf追加
table.sqlファイル追加
Word ファイル\course java.docx追加
圧縮ファイルが作成されました!

Resources: