public class hiZipper extends Object
zip圧縮と解凍を行います。
圧縮時には指定名のフォルダ、ファイルのみ圧縮させることや、指定名のフォルダ、ファイルを排除することもできます。
// 基本的使い方
// 指定したファイルの親部はzipに反映されません。
try{
hiZipper.zip(new File("test.zip"),"a/b"); // bフォルダをtest.zipにまとめる
// zipの先頭はbになります。
}
catch(Exception _ex){
hiU.err.println("zip failed "+_ex);
}
// 指定フォルダを省いて圧縮する
try{
hiZipper.option _option=new hiZipper.option();
_option.exclude_dirs="folderA,folderB"; // 名前がfolderA,folderBであるフォルダは省く
hiZipper.zip(new File("test.zip"),"test",_option); // testフォルダをtest.zipにまとめる
}
catch(Exception _ex){
hiU.err.println("zip failed "+_ex);
}
// 途中でCANCEL可能とする
// hiIOをオプションのioにセットしておくと、別スレッドでio.cancel()を呼ぶことにより
// 圧縮、展開作業をキャンセルできます。作りかけのファイルの後始末は行いません、
// 途中経過をio.IO_message呼び出しで通知します。
hiIO io=new hiIO();// 別スレッドからアクセスできる形だとして
try{
hiZipper.option _option=new hiZipper.option();
_option.io= io;
hiZipper.zip(new File("test.zip"),"test",_option); // testフォルダをtest.zipにまとめる
}
catch(Exception _ex){
hiU.err.println("zip failed "+_ex);// cancelされるとExceptionが発生する
}
// 複数ファイルを指定して圧縮する
try{
ArrayList<File> _files=new ArrayList<File>();
_files.add(new File("a/b")); // b以下が入る(bが先頭)
_files.add(new File("x/y/z.txt")); // z.txtが先頭
hiZipper.zip(new File("test.zip"),_files); // test.zipにまとめる
}
catch(Exception _ex){
hiU.err.println("zip failed "+_ex);// cancelされるとExceptionが発生する
}
| 修飾子とタイプ | クラスと説明 |
|---|---|
static class |
hiZipper.option |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
static ArrayList<String> |
find(File zip_file_,
String fileName_)
zipファイル内を検索する.
|
static void |
unzip(File src_zip_file_,
File dist_dir_)
zipファイルを指定フォルダ下に展開する.
|
static void |
unzip(File src_zip_file_,
File dist_dir_,
hiZipper.option option_)
zipファイルを指定フォルダ下に展開する(オプション付き).
|
static void |
zip(File zip_file_,
ArrayList<File> files_)
複数の指定File(フォルダまたはファイル)を圧縮する.
|
static void |
zip(File zip_file_,
ArrayList<File> files_,
hiZipper.option option_)
複数の指定File(フォルダまたはファイル)を圧縮する(オプション付き).
|
static void |
zip(File zip_file_,
File file_)
指定File(フォルダまたはファイル)を圧縮する.
|
static void |
zip(File zip_file_,
File file_,
hiZipper.option option_)
指定File(フォルダまたはファイル)を圧縮する(オプション付き).
|
static void |
zip(File zip_file_,
String fileName_)
指定File(フォルダまたはファイル)を圧縮する.
|
static void |
zip(File zip_file_,
String fileName_,
hiZipper.option option_)
指定File(フォルダまたはファイル)を圧縮する(オプション付き).
|
public static void zip(File zip_file_, File file_)
zip_file_ - zipファイルfile_ - zipに入れるファイルpublic static void zip(File zip_file_, File file_, hiZipper.option option_)
zip_file_ - zipファイルfile_ - zipに入れるファイルoption_ - オプションpublic static void zip(File zip_file_, String fileName_)
zip_file_ - zipファイルfileName_ - zipに入れるファイルの名前public static void zip(File zip_file_, String fileName_, hiZipper.option option_)
zip_file_ - zipファイルfileName_ - zipに入れるファイルの名前option_ - オプションpublic static void zip(File zip_file_, ArrayList<File> files_)
zip_file_ - zipファイルfiles_ - zipに入れるファイル群public static void zip(File zip_file_, ArrayList<File> files_, hiZipper.option option_)
zip_file_ - zipファイルfiles_ - zipに入れるファイル群option_ - オプションpublic static ArrayList<String> find(File zip_file_, String fileName_)
zip_file_ - zipファイルfileName_ - 検索するファイル名public static void unzip(File src_zip_file_, File dist_dir_)
src_zip_file_ - zipファイル(このファイルを展開する)dist_dir_ - 展開先フォルダpublic static void unzip(File src_zip_file_, File dist_dir_, hiZipper.option option_)
src_zip_file_ - zipファイル(このファイルを展開する)dist_dir_ - 展開先フォルダoption_ - オプション