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

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

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

    posts - 241,  comments - 116,  trackbacks - 0
    示例用的是org.apache.tools.zip包下面的一些類,jdk自帶的zip工具類當文件名是中文的情況下會出現問題,本事例可以遞歸壓縮文件和解壓文件,功能上和現在常用的一些壓縮軟件功能類似,暫時沒有做性能上的對比。
    package zip;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Enumeration;

    import org.apache.tools.zip.ZipEntry;
    import org.apache.tools.zip.ZipFile;
    import org.apache.tools.zip.ZipOutputStream; javascript table 表格排序



    @SuppressWarnings("rawtypes")
    public class TestAntZip {
        public static void main(String[] args) {
            //Unzip();
            //ZipFile();
        }

        /**
         * 壓縮文件或者文件夾
         */
        private static void ZipFile() {
            try {
                String inputStr = "D:/testzip";
                File input = new File(inputStr);
                            String singleFile = null;
                if (input.isFile()) {
                  int temp = input.getName().lastIndexOf(".");
                      singleFile = input.getName().substring(0, temp);
                }
                String basepath = input.getName();
                            String zipfilename = singlefile != null ? singlefile : input.getName();
                ZipOutputStream zos = new ZipOutputStream(new File(input.getParent(), zipfilename + ".zip"));
                zos.setEncoding("UTF-8");
                PutEntry(zos, input, basepath);
                zos.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        private static void PutEntry(ZipOutputStream zos, File file, String basepath) throws IOException, FileNotFoundException {
            FileInputStream is = null;
            byte[] b = new byte[1024 * 10];
            int tmp = 0;
            basepath += File.separator;
            if (file.isFile()) {
                zos.putNextEntry(new ZipEntry(basepath));
                is = new FileInputStream(file);
                while ((tmp = is.read(b, 0, b.length)) != -1) {
                    zos.write(b, 0, tmp);
                }
                is.close();
            } else {
                for (File f : file.listFiles()) {
                    PutEntry(zos, f, basepath + f.getName());
                }
            }
            zos.flush();
        }

        /**
         * 解壓縮
         */
        private static void Unzip() {
            String file = "d:/testzip.zip";
            File zipFile = new File(file);
            int i = file.lastIndexOf(".");
            File filePath = new File(file.substring(0, i));
            if (!filePath.exists()) {
                filePath.mkdirs();
            }
            File temp = null;
            try {
                ZipFile zip = new ZipFile(zipFile, "UTF-8");
                ZipEntry entry = null;
                byte[] b = new byte[1024 * 10];
                int tmp = 0;
                
                FileOutputStream os = null;
                InputStream is = null;
                for (Enumeration enu = zip.getEntries(); enu.hasMoreElements();) {
                    entry = (ZipEntry) enu.nextElement();
                    is = zip.getInputStream(entry);
                    temp = new File(filePath.getParent() + File.separator + entry.getName());
                    if (!temp.getParentFile().exists()) {
                        temp.getParentFile().mkdirs();
                    }
                    os = new FileOutputStream(temp);
                    while ((tmp = is.read(b, 0, b.length)) != -1) {
                        os.write(b, 0, tmp);
                    }
                    os.flush();
                    os.close();
                    is.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    posted on 2011-08-04 09:29 墻頭草 閱讀(1475) 評論(0)  編輯  收藏

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


    網站導航:
     
    人人游戲網 軟件開發網 貨運專家
    主站蜘蛛池模板: 亚洲精品国产成人99久久| 午夜免费福利片观看| 在线免费不卡视频| 亚洲一卡二卡三卡| 成人免费在线看片| 亚洲国产美女精品久久久久| 国产曰批免费视频播放免费s | 免费看少妇高潮成人片| a级亚洲片精品久久久久久久| 51午夜精品免费视频| 在线亚洲午夜理论AV大片| a在线观看免费视频| 亚洲av无码专区国产乱码在线观看| 久爱免费观看在线网站| 亚洲综合色一区二区三区小说| 国产1000部成人免费视频| 亚洲欧美日韩久久精品| 四虎精品亚洲一区二区三区| www一区二区www免费| 亚洲韩国—中文字幕| 啦啦啦完整版免费视频在线观看| 亚洲丰满熟女一区二区v| 日本午夜免费福利视频| 国产成人自产拍免费视频| 亚洲AV乱码一区二区三区林ゆな| 波多野结衣在线免费观看| 亚洲av无码成人精品区一本二本| 亚洲成AV人在线观看网址| 午夜理伦剧场免费| 亚洲av无码专区在线观看下载 | 免费毛片毛片网址| 国产亚洲成AV人片在线观黄桃| 麻豆视频免费观看| 国产亚洲情侣久久精品| 亚洲成人中文字幕| 国产禁女女网站免费看| 免费91麻豆精品国产自产在线观看| 亚洲欧洲日本在线观看 | 亚洲乱码无限2021芒果| 亚洲免费在线观看| 成年人网站免费视频|