パブリック クラス UnZipper {
/**
※ファイルをカレントディレクトリに解凍する機能は、右クリックで解凍を選択するのと同等です。
* @param zipFile
* @param
* @著者ガブリエル
*/
@SuppressWarnings("rawtypes")
public static void unZipFiles(File zipFile)throws IOException{
//圧縮ファイルが置かれているディレクトリを取得する
文字列パス=zipFile.getAbsolutePath();
path=path.substring(0,path.lastIndexOf("//"));
// System.out.println("パス "+パス);
ZipFile zip = 新しい ZipFile(zipFile);
for(列挙エントリ =zip.entries();
エントリ.hasMoreElements();){
ZipEntry エントリ = (ZipEntry)entries.nextElement();
文字列 zipEntryName = エントリ.getName();
入力ストリーム = zip.getInputStream(entry);
//outPath 出力ディレクトリ
String outPath = (path+"//"+zipEntryName).replaceAll("//*", "/");;
//System.out.println("outPath "+outPath);
//パスが存在するかどうかを判断し、存在しない場合はファイル パスを作成します
ファイル file = new File(outPath.substring(0, outPath.lastIndexOf('/')));
if(!file.exists()){
ファイル.mkdirs();
}
// ファイルのフルパスがフォルダーであるかどうかを判断します。上記でアップロードされている場合は、解凍する必要はありません。
if(新しいファイル(outPath).isDirectory()){
続く;
}
//ファイルパス情報を出力する
System.out.println(outPath);
OutputStream out = 新しい FileOutputStream(outPath);
byte[] buf1 = 新しいバイト[1024];
int len;
while((len=in.read(buf1))>0){
out.write(buf1,0,len);
}
in.close();
out.close();
}
System.out.println("******************解凍完了*********************** *");
}
public static void main(String[] args) {
試す {
unZipFiles(new File("D://all//zip//Default.adiumemoticonset.zip"));
} キャッチ (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
}
}