人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

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

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

更新時間:2022-08-25 文章作者:未知 信息來源:網絡 閱讀次數:

Java文件操作(3)

    

  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)


 


溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 大新县| 舞阳县| 茂名市| 乐陵市| 汉寿县| 上蔡县| 通化县| 南靖县| 临潭县| 大田县| 扶绥县| 施甸县| 乌苏市| 丰原市| 邵阳市| 宜章县| 林西县| 青龙| 改则县| 醴陵市| 酒泉市| 开化县| 汶上县| 金堂县| 岚皋县| 宜川县| 时尚| 抚州市| 新安县| 万宁市| 滦平县| 泸溪县| 安义县| 如皋市| 凤庆县| 剑川县| 齐齐哈尔市| 贵港市| 肇东市| 大英县| 克东县|