<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免费精品高清在线| 免费黄色网址网站| 亚洲人成在线电影| 亚洲a一级免费视频| 亚洲国产精品白丝在线观看| 国产免费一区二区三区| 亚洲最大的成人网| 无码国模国产在线观看免费| 国产成人高清亚洲一区91| 亚洲美女在线国产| 老司机69精品成免费视频| 久久精品国产亚洲av影院| 国产精彩免费视频| 亚洲国产成人综合精品| 亚洲av无码国产精品色在线看不卡| 一个人看的在线免费视频| 亚洲成AV人片一区二区密柚| 精品久久8x国产免费观看| 亚洲乱码国产乱码精华| 亚洲乱码国产一区网址| 久久精品国产大片免费观看| 91嫩草亚洲精品| 免费在线观看亚洲| 中文字幕久精品免费视频| 亚洲一卡二卡三卡| 免费观看四虎精品国产永久| 久久精品视频免费看| 伊人久久五月丁香综合中文亚洲| 亚洲日本中文字幕天堂网| 三年片在线观看免费大全电影| 国产精品亚洲片夜色在线| 亚洲欧洲中文日韩久久AV乱码| 久久99国产综合精品免费| 亚洲AV无码专区在线厂| 亚洲AV电影院在线观看| 在线看片人成视频免费无遮挡| 国产福利在线观看永久免费| 亚洲最大福利视频| 久久久久久久尹人综合网亚洲| 免费鲁丝片一级在线观看|