プログラミング Java

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

投稿日:

 

画像ファイルの比較

比較元ファイル

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

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

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

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

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

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

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

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

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

ソースコード

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

 

実行結果

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

 

参考

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

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

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, Java

執筆者:


comment

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

CAPTCHA


関連記事

【Java入門】クラスとインスタンスの違いを分かり易い言葉で説明します。

概要 クラスとインスタンスの違いについて、できるだけ分かり易い言葉や表現で説明します。   クラス 設計書だよ。 以上です。 ほんとマジで。 どんなデータと操作が可能かを決めているだけなので設計書と表 …

【SpringBoot入門】#9~ 更新画面の作成

左側のコンテンツ40% 右側のコンテンツ60% ※2021/01/09  画面遷移等のバックエンド側の内容が抜けていたので追記しました。 概要 検索結果一覧から編集ボタン押下で遷移してくる更新画面です …

【Java入門】Supplierの使い方まとめ

概要 Supplierとは供給者という意味です。 その名の通り、引数を取らずに戻り値を受け取ります。   基本的な使い方 Supplier<T> getメソッドによってT型の結果を受け取り …

【Java入門】繰り返し処理(while, for)

概要 繰り返し処理の制御構造について学んでいきましょう。 繰り返しには以下があります。 while(条件に一致する間だけ繰り返す) do-while(一度必ず実行し、その後は条件に一致する間だけ繰り返 …

【Java】オブジェクト指向の練習題材(会員オブジェクト)

前回記事、オブジェクト指向とは何なのかを簡単に説明してみるの練習題材です。   仕様 以下の会員クラスを作成し、Mainクラスで表示する。 会員クラスには、「会員」という単位で持つことできる …

記事を探す

SpringFramworkの良書

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

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