So erkennen Sie mit Apache Tika, ob eine Datei beschädigt ist

So erkennen Sie mit Apache Tika, ob eine Datei beschädigt ist

Apache Tika ist eine Bibliothek zur Dateityperkennung und Inhaltsextraktion aus Dateien verschiedener Formate.

Beim Hochladen und Analysieren von Dateien auf einen Server müssen Sie häufig feststellen, ob die Dateien beschädigt sind. Wir können Tika verwenden, um festzustellen, ob die Datei beschädigt ist

Maven wird wie folgt eingeführt:

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

Wenn es einen Konflikt in den JAR-Paketen gibt, können Sie diese wie folgt einführen:

<Abhängigkeit>
  <groupId>org.apache.tika</groupId>
  <artifactId>tika-Kern</artifactId>
  <version>1.18</version>
</Abhängigkeit>
<Abhängigkeit>
  <groupId>org.apache.tika</groupId>
  <artifactId>Tika-Parser</artifactId>
  <version>1.18</version>
</Abhängigkeit>
<Abhängigkeit>
  <groupId>xerces</groupId>
  <artifactId>xercesImpl</artifactId>
  <version>2.11.0</version>
</Abhängigkeit>

Verwenden Sie Tika, um festzustellen, ob die Datei beschädigt ist:

Wenn das Lesen aus dem Eingabestream fehlschlägt, löst die Parse-Methode eine IOException aus. Wenn das aus dem Stream erhaltene Dokument nicht geparst werden kann, wird eine TikaException ausgelöst. Wenn der Prozessor das Ereignis nicht verarbeiten kann, wird eine SAXException ausgelöst.

Wenn ein Dokument nicht analysiert werden kann, ist das Dokument beschädigt.

Ausführungsprozess:

öffentliche statische void main(String[] args) {
    versuchen {
      //Angenommen, sample.txt befindet sich in Ihrem aktuellen Verzeichnis
      Datei Datei = neue Datei("D:\\Test.txt");
      boolesches Ergebnis = isParseFile(Datei);
    } Fang (Ausnahme e) {
      e.printStackTrace();
    }
  }
 
  /**
   * Überprüfen Sie, ob die Datei beschädigt ist*
   * @param Datei Datei * @return true/false
   * @throws Ausnahme
   */
  private static boolean isParseFile(File file) löst Exception aus {
    versuchen {
      Tika tika = neue Tika();
      String Dateiinhalt = tika.parseToString(Datei);
      System.out.println(Dateiinhalt);
      gibt true zurück;
    } Fang (TikaException e) {
      gibt false zurück;
    }
  }

Ausgabe:

Testdaten --- Textinhalt lesen

Zusammenfassen

Oben ist die Methode von Apache Tika, um festzustellen, ob die Datei beschädigt ist. Ich hoffe, sie wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • So erkennen Sie, ob das Apache-Modul mod_rewrite in PHP installiert ist

<<:  Ant entwirft eine Vue-Tabelle, um ein vollständiges Beispiel skalierbarer Spalten zu erhalten

>>:  Probleme bei der Installation von MySQL 8.0 und beim Zurücksetzen des Kennworts

Artikel empfehlen

Analyse der Verwendung des Linux-Schwachstellen-Scan-Tools lynis

Vorwort: Lynis ist ein Sicherheitsprüfungs- und H...

Detaillierte Erklärung der MySQL-Vorkompilierungsfunktion

In diesem Artikel wird die MySQL-Vorkompilierungs...

Ubuntu 18.04 Touchpad per Befehl deaktivieren/aktivieren

Unter Ubuntu kommt es häufig vor, dass sich das T...

So verwenden Sie Docker-Compose zum Erstellen eines ELK-Clusters

Auf alle Orchestrierungsdateien und Konfiguration...

Vue realisiert den Gleitkreuzeffekt des Balles

In diesem Artikelbeispiel wird der spezifische Co...

Zusammenfassung der unbekannten Verwendung von "!" in Linux

Vorwort Tatsächlich gibt es für das bescheidene „...

Beheben Sie den abnormalen Fehler beim Erstellen einer Vue-Umgebung mit Webpack

Inhaltsverzeichnis Konfigurieren Sie zuerst packa...

Beispiel für einen Persistenzbetrieb mit Gearman + MySQL

Dieser Artikel verwendet die Gearman+MySQL-Method...

Detaillierte Erklärung zur korrekten Öffnung in CSS

Warum sagen wir „normalerweise 1em=16px“? Die vom...

Zusammenfassung einiger meiner häufig verwendeten Linux-Befehle

Ich habe zwei Jahre lang im Betrieb und in der Wa...