zipファイル作成サンプル
あえて、JavaSE7のNIO2を使用しないで、zipファイルを作成。
zip対象となる入力ファイルは、実際のディスク上には存在しない状態で、実装中で指定したディレクトリ構成、ファイルのデータは実装中で指定した値で作成。
- 1.zipするファイルの指定
List<String> files = Arrays.asList( "dir1/test1.txt" , "dir1/dir2/test2.txt");
- 2.作成するzipファイル
out = new ZipOutputStream(new BufferedOutputStream( new FileOutputStream("/Users/tomo/ziptest/myzip.zip")));
- 3.zip作成
1.のファイル毎にzip entryを作成、#putNextEntry後、#writeメソッドでデータを出力
for (String file : files) { ZipEntry entry = new ZipEntry(file); // zipのエントリ作成 out.putNextEntry(entry); String data = String.format("file name:%s", file); out.write(data.getBytes()); // zipエントリにデータを書く }
- 実行結果
コードは、ここcreating zip file without input files. · GitHubにアップ。
次はNIO2、JavaSE8で挑戦したいと思ってます!