プログラミング Java

【Java】画像ファイルをバイナリで比較する方法

投稿日:

 

画像ファイルの比較

比較元ファイル

素材はPhotoACから拝借しました。
コピー元画像:PCを持つ女性

コピーしたファイルとの比較(True)

コピー元ファイルをコピーしただけのファイル。
バイナリデータに差異が無いため、比較結果はTrueになる想定。

比較元ファイルをわずかに編集して比較(False)

コピー元ファイルをコピーした後、わずかに編集したもの。
顔の右側にある、小さな黒いドットが編集箇所。
編集したため、比較結果はFalseになる想定。

別ファイルとの比較(False)

全く別のファイルのため、比較結果はFalseになる想定。

存在しないファイルの場合(False)

存在しないファイル名を指定する。
IOExceptionでキャッチされる想定。

ソースコード

画像ファイルはデスクトップ上の「files」フォルダ内に格納。

 

実行結果

想定通り、コピーしたファイル以外はすべてFlaseになっています。
また、存在しないファイル名を指定した場合、IOExceptionがthrowされました。

 

参考

Qiita
ファイル内容が一致しているか判定する方法(Java)

PhotoAC
PCを持つ女性
PCを操作する女性

-プログラミング, Java

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

【Spring】JSの変更を反映させる方法

Spring Bootのおいて、JavaScriptの変更を反映させる方法です。   目次 設定application.properties特定のフォルダに適用したい場合公式ドキュメント 設 …

【Java】文字列の完全一致と部分一致を判定する方法

Stringオブジェクトのmatches、containsメソッドを使った説明です。 戻り値:boolean   目次 完全一致説明コード部分一致(前方一致)説明コード部分一致(後方一致)説 …

フロントエンジニアとバックエンドエンジニアのどちらになるべきか?

目次 対象読者フロントエンジニアかバックエンドエンジニアか?・役割から考える・やりたいことで考える・性格や得意なことで考える各々の今後のスキル目標どっちもやりたい場合どれくらい稼げるか?・フロントエン …

【JdbcTemplate】Queryの書き方(更新系)

  目次 前提usersテーブルUserクラス準備INSERTUPDATEDELETEまとめ 前提 以下のテーブル(users)を持ち、格納するのはUserクラスという想定で説明していきます …

【Java】MySQLから取得した日付をフォーマット変換して表示する方法

MySQLからSELECTしてきた日付データ(DateTime型)を、 「yyyy年MM月dd日 hh時mm分ss秒」のフォーマットで表示する方法です。 目次 コード説明Date型変数への格納なぜDa …

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。