<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java,J2EE,Weblogic,Oracle

    java項目隨筆
    隨筆 - 90, 文章 - 6, 評論 - 61, 引用 - 0
    數據加載中……

    Java 壓縮、解壓zip

    import java.util.zip.ZipFile;
    import java.util.List;
    import java.io.File;
    import java.util.zip.ZipEntry;
    import java.util.ArrayList;
    import java.util.Enumeration;
    import org.apache.commons.logging.LogFactory;
    import org.apache.commons.logging.Log;
    import java.io.BufferedOutputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.IOException;
    import java.io.OutputStream;

    /**
    ?* <p>預覽彩信的 smil? </p>
    ?*
    ?* <p>該類是解壓 zip 文件,及獲取 smil 文件的 url </p>
    ?*
    ?* <p>Copyright: Copyright (c) 2006</p>
    ?*
    ?* <p>卓望_山東168_CMS</p>
    ?*
    ?* @author 龔椿深 2006-11-13
    ?* @version 1.0
    ?*/
    public class UnZip {
    ??? private static Log logger = LogFactory.getLog(UnZip.class);
    ??? public UnZip() {
    ??? }

    ??? public static void unZipFile(String filename) {
    ??????? ZipEntry entry = null;
    ??????? InputStream in = null;
    ??????? BufferedOutputStream bout = null;
    ??????? ZipFile zip = null;
    ??????? try {
    ??????????? //創建目錄
    ??????????? String tagerpath = filename.substring(0, filename.lastIndexOf(".")); //獲取目錄名
    ??????????? File directory = new File(tagerpath);
    ??????????? directory.mkdirs();

    ??????????? File file = new File(filename);
    ??????????? zip = new ZipFile(file);
    ??????????? Enumeration save = zip.entries();
    ??????????? //遍歷Enumeration,進行保存操作
    ??????????? while (save.hasMoreElements()) {
    ??????????????? entry = (ZipEntry) save.nextElement();
    ??????????????? //當文件不為目錄時進行保存
    ??????????????? if (!entry.isDirectory() && !entry.getName().endsWith("zip")) {
    ??????????????????? //進行保存文件
    ??????????????????? in = zip.getInputStream(entry);
    ??????????????????? bout = new BufferedOutputStream(new FileOutputStream(
    ??????????????????????????? tagerpath + "/" + entry.getName()));
    ??????????????????? int rc = 0;
    ??????????????????? byte[] buf = new byte[102400];
    ??????????????????? while ((rc = in.read(buf, 0, 102400)) > 0) {
    ??????????????????????? bout.write(buf, 0, rc);
    ??????????????????? }
    ??????????????????? bout.flush();
    ??????????????? } else if (entry.getName().endsWith("zip")) {
    ??????????????????? //進行保存文件
    //??????????????????? InputStream input = new FileInputStream();
    ??????????????????? in = zip.getInputStream(entry);
    ??????????????????? OutputStream out = new FileOutputStream(tagerpath + "/" +
    ??????????????????????????? entry.getName());

    ??????????????????? // Transfer bytes from in to out
    ??????????????????? byte[] buf = new byte[1024];
    ??????????????????? int len;
    ??????????????????? while ((len = in.read(buf)) > 0) {
    ??????????????????????? out.write(buf, 0, len);
    ??????????????????? }
    ??????????????????? in.close();
    ??????????????????? out.close();
    ??????????????? }
    ??????????? }
    ??????? } catch (Exception e) {
    ??????????? logger.error("解壓文件不成功!!" + e.getMessage());
    ??????? }
    ??????? //關閉文件
    ??????? finally {
    ??????????? if (bout != null) {
    ??????????????? try {
    ??????????????????? bout.close();
    ??????????????? } catch (IOException er) {
    ??????????????????? logger.error(er.getMessage());
    ??????????????? }
    ??????????? }
    ??????????? if (in != null) {
    ??????????????? try {
    ??????????????????? in.close();
    ??????????????? } catch (IOException ex) {
    ??????????????????? logger.error(ex.getMessage());
    ??????????????? }
    ??????????? }
    ??????????? if (zip != null) {
    ??????????????? try {
    ??????????????????? zip.close();
    ??????????????? } catch (IOException ec) {
    ??????????????????? logger.error(ec.getMessage());
    ??????????????? }
    ??????????? }
    ??????? }
    ??? }


    ??? public static List getSmilList(String tagerpath) {
    ??????? File filepath = null;
    ??????? List list = null;
    ??????? try {
    ??????????? filepath = new File(tagerpath);
    ??????????? list = new ArrayList();

    ??????????? //找出擴展名為 smil 的文件,并加入到 list
    ??????????? File temp[] = filepath.listFiles();
    ??????????? for (int i = 0; i < temp.length; i++) {
    ??????????????? System.out.println("abs:"+temp[i].getAbsolutePath());
    ??????????????? System.out.println("can:"+temp[i].getCanonicalPath());
    ??????????????? System.out.println("path:"+temp[i].getPath());
    ??????????????? System.out.println("url:"+temp[i].toURI());
    ??????????????? if (temp[i].getAbsolutePath().toLowerCase().endsWith("smil")) {
    ??????????????????? list.add(temp[i].getAbsolutePath().toString());
    ??????????????? }
    ????????????? }
    ??????? } catch (Exception e) {
    ??????????? logger.error("UnZip-->getSmilList" + e.getMessage());
    ??????? }

    ??????? return list;
    ??? }
    //獲取文件列表
    ??? public static List getZipFileList(String filepath) {
    ??????? //定義zip中的實體
    ??????? ZipEntry entry = null;
    ??????? ZipFile zip = null;
    ??????? List list = new ArrayList();
    ??????? try {
    ??????????? File file = new File(filepath);
    ??????????? zip = new ZipFile(file);
    ??????????? //將zip中的每個實體放入Enumeration中
    ??????????? Enumeration num = zip.entries();
    ??????????? //遍歷Enumeration,判斷解壓文件是否已經存在
    ??????????? while (num.hasMoreElements()) {
    ??????????????? entry = (ZipEntry) num.nextElement();
    ??????????????? //把 smil 文件添加到列表中
    ??????????????? if (entry.getName().toLowerCase().endsWith("smil")) {
    ??????????????????? list.add(entry.getName());
    ??????????????? }
    ??????????? }
    ??????? } catch (Exception e) {
    ??????????? logger.error("解壓文件不成功!!" + e.getMessage());
    ??????? }
    ??????? return list;
    ??? }

    posted on 2006-11-17 09:53 龔椿深 閱讀(792) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 一级毛片在线播放免费| 国产成人亚洲综合一区| 国产精品亚洲va在线观看| 好大好深好猛好爽视频免费| 亚洲国产片在线观看| 无人在线观看免费高清视频| 亚洲 日韩 色 图网站| 妞干网在线免费视频| 亚洲第一se情网站| 国产美女被遭强高潮免费网站| 大桥未久亚洲无av码在线| 国产在线播放免费| 又大又硬又粗又黄的视频免费看 | 亚洲AV乱码久久精品蜜桃 | 亚洲区日韩精品中文字幕| 破了亲妺妺的处免费视频国产| 亚洲欧美第一成人网站7777| 国产又大又长又粗又硬的免费视频 | 国产成人久久精品亚洲小说| 亚洲精品线路一在线观看| 九九免费观看全部免费视频| 亚洲av综合avav中文| 曰批全过程免费视频网址| 国产成人精品日本亚洲专| 四虎影视精品永久免费| 久久国产免费直播| 亚洲另类自拍丝袜第1页| 成年人在线免费观看| 黄色短视频免费看| 99人中文字幕亚洲区| 日韩中文字幕在线免费观看| 2022国内精品免费福利视频 | 中文有码亚洲制服av片| 亚洲国产成人精品女人久久久| 最近中文字幕大全免费版在线| 亚洲精品视频在线观看视频| 四虎影院永久免费观看| 久久国产乱子伦精品免费不卡| 77777午夜亚洲| 区久久AAA片69亚洲| 在线精品一卡乱码免费|