六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

Java咖啡館——一個壓縮歸檔實用軟件(4)

[摘要]6.ZIP壓縮和CRC校驗  良好的開端是成功的一半,有了上面的準備,完成主程序也就很容易了。public static void main(String[] args) { // 程序出現任何異常都將打印使用信息。 try { // 記錄正則表達式和路徑名稱。 Str...

    

  6.ZIP壓縮和CRC校驗

  良好的開端是成功的一半,有了上面的準備,完成主程序也就很容易了。

public static void main(String[] args) {
   // 程序出現任何異常都將打印使用信息。
   try {
      // 記錄正則表達式和路徑名稱。
      String regex = args[1];
      String targetFolder = args[0];

      File path = new File(targetFolder);
      ArrayList files = new ArrayList();

      // 遞歸搜索path所指定的文件夾內以及子文件夾內滿足合正則表達式。
      recursiveAppend(path, files, regex);

     if (files.size() == 0) {
     System.out.println("找不到任何匹配的文件!");
        return;
     }

     // 把符合正則表達式的文件壓縮成ZIP格式并且返回CRC校驗值。
     FileOutputStream file = new FileOutputStream("Backup.zip");
     CheckedOutputStream csum = new CheckedOutputStream(file, new CRC32());
     ZipOutputStream zos = new ZipOutputStream(csum);
     BufferedOutputStream out = new BufferedOutputStream(zos);

     // 為ZIP包添加注釋。
     zos.setComment("Backup " + regex + " in " + targetFolder);

     // 開始壓縮。
     for (int i = 0; i < files.size(); i++) {
       String currentFile = (String) files.get(i);
       System.out.println("Writing file " + currentFile);
       BufferedReader in = new BufferedReader(new FileReader(currentFile));
       zos.putNextEntry(new ZipEntry(currentFile));
       int c;
       while ((c = in.read()) != -1)
          out.write(c);
       in.close();
       }
       out.close();

       // 當壓縮包關閉以后便可以得到CRC校驗值。
       System.out.println("CRC校驗值:" + csum.getChecksum().getValue());
     } catch (Exception e) {
       printUsage();
     }
}

  首先可以看到,整個main函數部分是用一個大的try...catch異常捕獲語句容納起來的,當程序出現任何異常時,我們都認為是用戶的參數不正確,便調用printUsage()方法打印使用信息,具體代碼從略。

  首先通過recursiveAppend()方法遞歸搜索指定的文件夾內以及子文件夾內滿足合正則表達式的文件名,結果將保存在files中。如果有滿足條件的文件,則把這些文件壓縮成ZIP格式,并添加適當的注釋。當壓縮包關閉以后便可以得到ZIP包的CRC校驗值。

  注意,以上這些代碼使用的都是Java API內置的功能,如果你在編寫的過程中遇到找不到類定義的情況,別忘記使用Eclipse內置的Ctrl+Shift+M自動導入功能。
至此,整個軟件全部編寫好了。你可以在命令行手動輸入把玩一下,或者點擊Run菜單的Run...菜單項,配置Eclipse運行的參數如圖2所示。

Java咖啡館——一個壓縮歸檔實用軟件(4)


 





主站蜘蛛池模板: 午夜精品福利视频 | 日韩一区二区在线免费观看 | 亚洲美女色在线欧洲美女 | 热久久国产欧美一区二区精品 | 亚洲bt天堂 | 天天干天天拍天天射天天添天天爱 | 热久久中文字幕 | 亚洲欧美天堂 | 五月婷婷六月香 | 日本欧美一区二区三区在线观看 | 天堂资源在线www中文 | 伊人网影院 | 欧美伊人久久久久久久久影院 | 青草久久精品亚洲综合专区 | 天美传媒一区 | 婷婷狠狠五月天小说免费 | 亚洲手机在线观看 | 青青青国产免费手机视频在线观看 | 日本精品在线播放 | 亚洲成人www | 日日天干夜夜人人添 | 天天操天天弄 | 亚洲精品永久免费 | 亚洲欧美日本在线观看 | 四虎免费永久观看 | 色偷偷亚洲女性天堂 | 亚洲视频在线免费看 | 色综合久久久久久久久久久 | 亚洲a人| 五月一区二区久久综合天堂 | 午夜精品久久久久久 | 欧美一级成人一区二区三区 | 伊人狠狠色丁香婷婷综合下载 | 日韩视频在线一区 | 视频一区在线 | 亚洲欧美久久婷婷爱综合一区天堂 | 日韩中文一区 | 色综合桃花网 | 午夜欧美 | 日韩一区二区中文字幕 | 青青青青青青青青草 |