Apache Tika を使用してファイルが破損しているかどうかを検出する方法

Apache Tika を使用してファイルが破損しているかどうかを検出する方法

Apache Tika は、さまざまな形式のファイルからファイル タイプを検出し、コンテンツを抽出するためのライブラリです。

ファイルをサーバーにアップロードして解析する場合、ファイルが破損しているかどうかを判断する必要があることがよくあります。ファイルが破損しているかどうかを検出するにはtikaを使用することができます

Maven は次のように紹介されています。

<依存関係>
  <グループID>org.apache.tika</グループID>
  <artifactId>tika アプリ</artifactId>
  <バージョン>1.18</バージョン>
</依存関係>
<依存関係>
  <groupId>クロスセクション</groupId>
  <artifactId>xercesImpl</artifactId>
  <バージョン>2.11.0</バージョン>
</依存関係>

jar パッケージに競合がある場合は、次のように導入できます。

<依存関係>
  <グループID>org.apache.tika</グループID>
  <artifactId>ティカコア</artifactId>
  <バージョン>1.18</バージョン>
</依存関係>
<依存関係>
  <グループID>org.apache.tika</グループID>
  <artifactId>tika-パーサー</artifactId>
  <バージョン>1.18</バージョン>
</依存関係>
<依存関係>
  <groupId>クロスセクション</groupId>
  <artifactId>xercesImpl</artifactId>
  <バージョン>2.11.0</バージョン>
</依存関係>

tika を使用して、ファイルが破損しているかどうかを検出します。

入力ストリームからの読み取りに失敗した場合、解析メソッドは IOException をスローします。ストリームから取得したドキュメントを解析できない場合は、TikaException がスローされます。プロセッサがイベントを処理できない場合は、SAXException がスローされます。

ドキュメントを解析できない場合は、ドキュメントが破損していることを示します。

実行プロセス:

パブリック静的voidメイン(String[] args) {
    試す {
      //sample.txtが現在のディレクトリにあると仮定します
      ファイル file = new File("D:\\Test.txt");
      ブール結果 = isParseFile(ファイル);
    } キャッチ (例外 e) {
      e.printStackTrace();
    }
  }
 
  /**
   * ファイルが破損していないか確認する*
   * @param ファイル ファイル * @return true/false
   * @例外をスローします
   */
  プライベート静的ブール値isParseFile(File file)は例外をスローします{
    試す {
      ティカ ティカ = 新しいティカ();
      文字列ファイルコンテンツ = tika.parseToString(ファイル);
      System.out.println(ファイルの内容);
      true を返します。
    } (TikaException e) をキャッチします {
      false を返します。
    }
  }

出力:

テストデータ---テキストコンテンツを読み取る

要約する

上記は、Apache Tika でファイルが破損しているかどうかを検出する方法です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • PHP に Apache mod_rewrite モジュールがインストールされているかどうかを検出する方法

<<:  スケーラブルな列の完全な例を実現するための Ant 設計 Vue テーブル

>>:  Mysql 8.0 のインストールとパスワードのリセットの問題

推薦する

MongoDB の起動エラーを解決します: 共有ライブラリのロード中にエラーが発生しました: libstdc++.so.6: 共有オブジェクト ファイルを開けません:

MongoDB を起動すると、プロンプトは次のようになります。共有ライブラリのロード中にエラーが発...

Vue2.0+ElementUI+PageHelperで実装されたテーブルページング機能

序文最近、いくつかのフロントエンド プロジェクトに取り組んでおり、ページにいくつかのテーブルを表示す...

Tomcat ソースコード起動コンソールの中国語文字化けのデバッグプロセス記録

問題を見つける今日はTomcatのソースコードを勉強するつもりなので、公式サイトからTomcatのソ...

モバイルでのHTML5経由のファイルアップロード

ほとんどの場合、PC でファイルをアップロードするにはプラグインが使用され、フラッシュが導入されても...

今日、今週、今月、先月のMySQLクエリデータ

今日 テーブル名から * を選択します。ここで、to_days(時間フィールド名) = to_day...

MySQL 4 の一般的なマスタースレーブレプリケーションアーキテクチャ

目次1つのマスターと複数のスレーブのレプリケーションアーキテクチャマルチレベルレプリケーションアーキ...

海外の無料写真素材サイトベスト9

良い画像素材のウェブサイトを見つけるのは難しいです。特に無料です。良い写真には非常に目を引く視覚効果...

HTML 5 ワーキングドラフトの謎を解く

World Wide Web Consortium (W3C) は、HTML 5 仕様のドラフトをリ...

Linux での Makefile の書き方と使い方の詳細な説明

目次メイクファイルMakefile の命名とルールMakefile の仕組みMakefile変数Ma...

プロジェクトの再構築からプロジェクトにおける CSS3 カスタム変数の使用について話す

CSS3変数について変数を宣言するときは、変数名の前に 2 つのハイフン ( -- ) を追加します...

Vueは単一ファイルコンポーネントの完全なプロセス記録を実装します

目次序文単一ファイルコンポーネント基本概念シンプルなローダーコンポーネントコンテンツの解析コンポーネ...

MySQL監視ツールmysql-monitorの詳細な説明

1. 概要mysql-monitor MYSQL 監視ツール、最適化ツール、1 つの Java Sp...

Dockerを使用してSonarQubeをインストールする詳細なチュートリアル

目次1. イメージをプルする1.1 関連するイメージをプルして実行する1.1.1 関連する画像を取得...

CSS3 でクールなスライス画像カルーセル効果を実現

今日は、CSS を使用してクールな画像カルーセル コンポーネントを作成する方法を学びます。その原理は...

Linux システムで複数のバージョンの PHP を共存させるソリューション (超シンプル)

PHP7が出たので、最新バージョンのファンとしては、早速アップグレードして体験してみました。しかし...