JAVA開発メモ
ZIP形式の圧縮
 

[リロード]   [新規|編集|差分|添付]   [トップ|一覧|単語検索|最終更新|バックアップ|ヘルプ]

サイトメニュー
最新の20件
2018-02-222017-12-082016-12-222015-06-242013-07-032013-02-262011-01-122010-10-122010-06-082010-03-092010-03-032009-12-302009-10-302009-02-252009-02-242009-02-112008-09-242008-09-23


ZIP形式の圧縮

ファイル展開サンプル

 import java.io.BufferedOutputStream;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 
 class ZipInputStreamSample {
         /**
 	 * @param args 圧縮ファイル名
 	 */
 	public static void main(String[] args) {
         byte[] buf = new byte[128];
 
         try {
             // 圧縮ファイルへのストリームを開く
             ZipInputStream in =
                 new ZipInputStream(new FileInputStream(args[0]));
 
             // 全てのエントリに対して処理を実行
             ZipEntry entry;
             while ((entry = in.getNextEntry()) != null) {
                 String filename = entry.getName();
                 System.out.println("Extracting " + filename + ".");
 
                 // 解凍先ファイルへのストリームを開く
                 BufferedOutputStream out =
                     new BufferedOutputStream(new FileOutputStream(filename));
 
                 // データを解凍して書き込む
                 int size;
                 while ((size = in.read(buf, 0, buf.length)) != -1) {
                     out.write(buf, 0, size);
                 }
 
                 // エントリと出力ストリームを閉じる
                 in.closeEntry();
                 out.flush();
                 out.close();
             }
 
             // 入力ストリームを閉じる
             in.close();
         } catch (IOException e) {
             e.printStackTrace();
         }
     }
 }

ファイル圧縮サンプル

 import java.io.BufferedInputStream;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
 
 class ZipOutputStreamSample {
     /**
      * @param args [0]圧縮先ファイル、[1,2...]圧縮元ファイル
      */
     public static void main(String[] args) {
         byte[] buf = new byte[128];
 
         try {
             // 圧縮先ファイルへのストリームを開く
             ZipOutputStream out =
                 new ZipOutputStream(new FileOutputStream(args[0]));
  
             for (int i = 0; i < args.length - 1; i++) {
                 System.out.println("Add to zip from " + args[i + 1] + ".");
 
                 // 圧縮元ファイルへのストリームを開く
                 BufferedInputStream in =
                     new BufferedInputStream(new FileInputStream(args[i + 1]));
 
                 // エントリを作成する
                 ZipEntry entry = new ZipEntry(args[i + 1]);
                 out.putNextEntry(entry);
 
                 // データを圧縮して書き込む
                 int size;
                 while ((size = in.read(buf, 0, buf.length)) != -1) {
                     out.write(buf, 0, size);
                 }
 
                 // エントリと入力ストリームを閉じる
                 out.closeEntry();
                 in.close();
             }
 
             // 出力ストリームを閉じる
             out.flush();
             out.close();
         } catch (IOException e) {
             e.printStackTrace();
         }
     }
 }

リロード   新規 編集 差分   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: Tue, 15 Feb 2005 23:08:10 JST (5210d)
Link: 開発Tips(3894d)

Modified by MT22(Moriwaki Takashi)

"PukiWiki" 1.3.7 Copyright © 2001,2002,2003 PukiWiki Developers Team. License is GNU/GPL.
Based on "PukiWiki" 1.3 by sng
Powered by PHP 5.3.29

HTML convert time to 0.018 sec.