Java/サンプル/JavaでZipファイル圧縮(commons-compress)テキスト一個だけ
- ApacheのCommons Compressを使用した、JavaによるZip圧縮の超簡単なサンプルです。
- 実行すると「ほげほげ」とだけ書き込んだ「ほげほげ.txt」だけを含むzipファイルを作成します。
- Java標準のZip圧縮では日本語のファイル名をUTF-8で書き込んでしまうため、Commons Compressを使いました。
サンプルソース
// Zipファイル圧縮サンプル
// 簡単な圧縮。
// 「ほげほげ」と書かれた「ほげほげ.txt」を含むzipファイルを作るサンプル。
import java.io.*;
import org.apache.commons.compress.archivers.zip.*;
public class ZipCompSample {
public static void main(String[] args) throws Exception {
// 1.sampleComp.zipに書き込むZipArchiveOutputStreamを作成します
ZipArchiveOutputStream os = new ZipArchiveOutputStream(new File("sampleComp.zip"));
// 2.中の圧縮ファイルに適用するエンコードを指定します。システム標準にしてみたのでWindowsならMS932になります。
os.setEncoding(System.getProperty("file.encoding"));
// 3.ZipArchiveEntry(Zipに入れるファイルのような物)を作成
ZipArchiveEntry zae = new ZipArchiveEntry("ほげほげ.txt");
// 4.ZipArchiveOutputStreamにエントリを入れます。
os.putArchiveEntry(zae);
// 5.エントリの中身を書き込みます。
// 中身が多い場合は、500バイトずつとか何回かに分けて書き込むと良いです。
os.write("ほげほげ".getBytes());
// 6.エントリをクローズします
os.closeArchiveEntry();
// 複数のファイルをzipファイルに入れる場合は、3~6の工程をファイルの数だけ繰り返します。
// 7.最後にアウトプットストリームをクローズします。
os.close();
// これで、「ほげほげ.txt」の入った「sampleComp.zip」が出来上がったはずです。
}
}
サンプルダウンロード
コメント
最終更新:2013年02月03日 01:18