javaにおける圧縮フォルダコードの例
1984 ワード
一、コードソース:http://www.oracle.com/technetwork/articles/java/compress-1565076.html
二、方法:jdkを利用してフォルダを圧縮する
三、不足:圧縮後のファイルは大きすぎて、ソースフォルダの大きさに大きな違いがないので、より良い解決方法を期待します。
四、コード:
二、方法:jdkを利用してフォルダを圧縮する
三、不足:圧縮後のファイルは大きすぎて、ソースフォルダの大きさに大きな違いがないので、より良い解決方法を期待します。
四、コード:
import java.io.*;
import java.util.zip.*;
public class Zip {
static final int BUFFER = 2048;
static final String path="C:\\Users\\sino\\Downloads\\mb"; //
public static void main (String argv[]) {
try {
BufferedInputStream origin = null;
FileOutputStream dest = new FileOutputStream("C:\\Users\\sino\\Downloads\\mb233.zip"); //
GZIPOutputStream out = new GZIPOutputStream(new BufferedOutputStream(dest));
// out.setMethod(ZipOutputStream.DEFLATED);
// out.setLevel(9);
byte data[] = new byte[BUFFER];
// get a list of files from current directory
File f = new File(path);
String files[] = f.list();
for (int i=0; i<files.length; i++) {
System.out.println("Adding: "+files[i]);
FileInputStream fi = new FileInputStream(path+File.separator+files[i]);
origin = new BufferedInputStream(fi, BUFFER);
// ZipEntry entry = new ZipEntry(files[i]); //
// entry.setMethod(ZipOutputStream.DEFLATED);
// out.putNextEntry(entry);
int count;
while((count = origin.read(data, 0,
BUFFER)) != -1) {
out.write(data, 0, count);
}
origin.close();
}
out.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}