解壓文件,lha

package jp.co.uss.cares.common;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import jp.gr.java_conf.dangan.util.lha.LhaHeader;
import jp.gr.java_conf.dangan.util.lha.LhaInputStream;
/**
 * @author user
 *
 * この生成されたコメントの挿入されるテンプレートを変更するため
 * ウィンドウ > 設定 > Java > コード生成 > コードとコメント
 */
public class Unzip {

	public void unzip(String zipFileName, String outputDirectory) {
		try {
			LhaInputStream in =
				new LhaInputStream(new FileInputStream(zipFileName));
			LhaHeader z = in.getNextEntry();
			while (z != null) {
				File f = new File(outputDirectory);
				f.mkdir();

				if (z.getPath().endsWith("//")) {
					String path = z.getPath();
					path = path.substring(0, path.length() - 1);
					System.out.println("path " + path);
					f = new File(outputDirectory + path);
					f.mkdir();
					System.out.println(
						"mkdir " + outputDirectory + File.separator + path);
				} else {
					if (z.getPath().lastIndexOf("//") > 0) {
						f =
							new File(
								outputDirectory
									+ z.getPath().substring(
										z.getPath().lastIndexOf("//")));
					} else {
						f = new File(outputDirectory + z.getPath());
					}
					f.createNewFile();
					FileOutputStream out = new FileOutputStream(f);
					int b;
					while ((b = in.read()) != -1) {
						out.write(b);
					}
					out.close();
				}
				z = in.getNextEntry();
			}
			in.close();
		} catch (Exception e) {
			// TODO 自?生成 catch ?
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		Unzip t = new Unzip();
		t.unzip("D://www.lzh", "D://bbb");
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章