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

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

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

    隨筆 - 100  文章 - 50  trackbacks - 0
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    我收藏的一些文章!

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    如果在系統中有比較多的PDF文件,但是的pdf文件可能被損壞了,我們可以利用itext 用來檢測
    首先下載itext包
    http://sourceforge.net/projects/itext/files/
    然后在執行以下代碼

    import java.io.File;
    import java.io.FileFilter;
    import java.io.IOException;
    import java.util.ArrayList;
    import com.itextpdf.text.Document;
    import com.itextpdf.text.pdf.PdfReader;
    public class TestPdf {
     private static ArrayList<String> pdffiles = new ArrayList<String>();

     /**
      * 遞歸得到特定目錄下的所有文件
      */
     public static void getAllPdfFile(String basedir) {
      File dir = new File(basedir);
      File[] files = dir.listFiles(new PdfFileFilter());
      if (files == null)
       return;
      for (int i = 0; i < files.length; i++) {
       if (files[i].isDirectory()) {
        getAllPdfFile(files[i].getAbsolutePath());
       } else {
        pdffiles.add(files[i].getAbsolutePath());
       }
      }
     }
     /**
      * 循環檢測
      */
     private static void CheckPdfFiles(ArrayList<String> files) {
      for (String file : files) {
       boolean flag = false;
       flag = check(file);
       if (!flag) {
        System.out.println(file + "文件損壞");
       }
      }
     }

     /**
      * 利用itext打開pdf文檔
      */
     private static boolean check(String file) {
      boolean flag1 = false;
      int n = 0;
      try {
       Document document = new Document(new PdfReader(file).getPageSize(1));
       document.open();
       PdfReader reader = new PdfReader(file);
       n = reader.getNumberOfPages();
       if (n != 0)
        flag1 = true;
       document.close();
      } catch (IOException e) {
       System.out.println(e.getMessage());
      }
      return flag1;

     }

     public static void main(String[] args) {
      getAllPdfFile("C:\\CO_uat\\");
      if (pdffiles.size() > 0)
       CheckPdfFiles(pdffiles);
      System.out.println("No break down file");
     }
    }
    /*
     * pdf文件過濾器
     */
    class PdfFileFilter implements FileFilter {
     public boolean accept(File file) {
      if (file.isFile()) {
       String filename = file.getName().toLowerCase();
       if (filename.endsWith(".pdf") == true) {
        return true;
       } else {
        return false;
       }
      } else {
       return true;
      }
     }

    }

    posted on 2010-09-01 18:20 fly 閱讀(5345) 評論(3)  編輯  收藏 所屬分類: java學習

    FeedBack:
    # re: Java檢查PDF文件是否損壞 2012-12-10 21:36 Chart
    Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1OctetString
    報上面這個異常呀.....有沒有API,不知道怎么出錯的....  回復  更多評論
      
    # re: Java檢查PDF文件是否損壞 2013-02-19 16:12 Ge-魔術彈
    謝謝 很好用 !  回復  更多評論
      
    # re: Java檢查PDF文件是否損壞 2013-02-19 16:13 Ge-魔術彈
    @Chart
    應該是沒有引入包   回復  更多評論
      
    主站蜘蛛池模板: 四虎在线最新永久免费| 中出五十路免费视频| a级毛片无码免费真人| 亚洲成a人片7777| 亚洲免费观看在线视频| 亚洲国产成人久久99精品| 亚洲高清免费在线观看| 免费在线看v网址| 免费大黄网站在线观看| 中文字幕在线观看亚洲| 免费国产黄网站在线观看可以下载| 成人爱做日本视频免费| 九九精品国产亚洲AV日韩| 久草福利资源网站免费| 久久夜色精品国产嚕嚕亚洲av| 亚洲AV永久纯肉无码精品动漫| a级毛片免费在线观看| 黄网址在线永久免费观看 | 亚洲av永久无码精品天堂久久| 国产成人va亚洲电影| 2021精品国产品免费观看| 亚洲制服丝袜一区二区三区| 成人午夜免费福利| 美女被免费网站在线视频免费| 老司机在线免费视频| 亚洲AV无码XXX麻豆艾秋| 久久亚洲av无码精品浪潮| 日韩亚洲产在线观看| 免费国产综合视频在线看| 国产三级在线免费| 亚洲熟伦熟女新五十路熟妇 | 国精无码欧精品亚洲一区| 最新黄色免费网站| 久久精品国产亚洲av品善| 狠狠色伊人亚洲综合成人| 中文字幕无码视频手机免费看| 日韩成人精品日本亚洲| 久久精品亚洲日本佐佐木明希| 成人在线免费观看| 日韩精品无码免费专区午夜不卡| 亚洲国产综合第一精品小说|