溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

apache tika如何檢測文件是否損壞

發(fā)布時(shí)間:2021-07-19 11:30:22 來源:億速云 閱讀:135 作者:小新 欄目:服務(wù)器

這篇文章主要介紹apache tika如何檢測文件是否損壞,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

Apache Tika用于文件類型檢測和從各種格式的文件內(nèi)容提取的庫。

將上傳文件至服務(wù)器,進(jìn)行解析文件時(shí),經(jīng)常需要判斷文件是否損壞。我們可以使用tika來檢測文件是否損壞

maven引入如下:

<dependency>
  <groupId>org.apache.tika</groupId>
  <artifactId>tika-app</artifactId>
  <version>1.18</version>
</dependency>
<dependency>
  <groupId>xerces</groupId>
  <artifactId>xercesImpl</artifactId>
  <version>2.11.0</version>
</dependency>

  如果jar包沖突時(shí)可以引入如下:

<dependency>
  <groupId>org.apache.tika</groupId>
  <artifactId>tika-core</artifactId>
  <version>1.18</version>
</dependency>
<dependency>
  <groupId>org.apache.tika</groupId>
  <artifactId>tika-parsers</artifactId>
  <version>1.18</version>
</dependency>
<dependency>
  <groupId>xerces</groupId>
  <artifactId>xercesImpl</artifactId>
  <version>2.11.0</version>
</dependency>

使用tika檢測文件是否損壞: 

  如果從輸入流讀取失敗,則parse方法拋出IOException異常,從流中獲取的文檔不能被解析拋TikaException異常,處理器不能處理事件則拋SAXException異常

  當(dāng)文檔不能被解析時(shí),說明文檔損壞

執(zhí)行過程:

public static void main(String[] args) {
    try {
      //Assume sample.txt is in your current directory
      File file = new File("D:\\測試.txt");
      boolean result = isParseFile(file);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
 
  /**
   * 驗(yàn)證文件是否損壞
   *
   * @param file 文件
   * @return true/false
   * @throws Exception
   */
  private static boolean isParseFile(File file) throws Exception {
    try {
      Tika tika = new Tika();
      String filecontent = tika.parseToString(file);
      System.out.println(filecontent);
      return true;
    } catch (TikaException e) {
      return false;
    }
  }

  輸出結(jié)果:

測試數(shù)據(jù)---讀取文本內(nèi)容

以上是“apache tika如何檢測文件是否損壞”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI