ファイルの拡張子が JPG であるかを問い合わせるスニペット

公開日: : 最終更新日:2014/01/26 Java

特に目新しいこともないが、同じようなことをする機会があるかもしれないのでメモ。Gist にも登録済み。

package net.tomoyamkung;
 
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
 
public class ImageUtil {
 
    /**
     * ファイルの拡張子が JPG であるかを問い合わせる。
     * 
     * @param fileName 画像ファイルのパス
     * @return パスが ".jpg", ".jpeg", ".JPG", ".JPEG" で終わっていれば true 
     * @throws IOException
     */
    public static Boolean isJpg(String fileName) throws IOException {
        List exts = new ArrayList();
        exts.add(".jpeg");
        exts.add(".jpg");
        
        for (String ext : exts) {
            if (fileName.endsWith(ext)) {
                return true;
            }
            if (fileName.endsWith(ext.toUpperCase())) {
                return true;
            }
        }
        return false;
    }
 
}
package net.tomoyamkung;
 
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
 
import org.junit.Test;
 
public class ImageUtilTest {
 
    @Test
    public void isJpg_jpg() throws Exception {
        // Setup
        String fileName = "a.jpg";
        // Exercise
        // Verify
        assertThat(ImageUtil.isJpg(fileName), is(true)); 
    }
    
    @Test
    public void isJpg_JPG() throws Exception {
        // Setup
        String fileName = "a.JPG";
        // Exercise
        // Verify
        assertThat(ImageUtil.isJpg(fileName), is(true)); 
    }
    
    @Test
    public void isJpg_jpeg() throws Exception {
        // Setup
        String fileName = "a.jpeg";
        // Exercise
        // Verify
        assertThat(ImageUtil.isJpg(fileName), is(true)); 
    }
    
    @Test
    public void isJpg_JPEG() throws Exception {
        // Setup
        String fileName = "a.JPEG";
        // Exercise
        // Verify
        assertThat(ImageUtil.isJpg(fileName), is(true)); 
    }
        
    @Test
    public void isJpg_gif() throws Exception {
        // Setup
        String fileName = "a.gif";
        // Exercise
        // Verify
        assertThat(ImageUtil.isJpg(fileName), is(false)); 
    }
    
    @Test
    public void isJpg_GIF() throws Exception {
        // Setup
        String fileName = "a.GIF";
        // Exercise
        // Verify
        assertThat(ImageUtil.isJpg(fileName), is(false)); 
    }
            
    @Test
    public void isJpg_png() throws Exception {
        // Setup
        String fileName = "a.png";
        // Exercise
        // Verify
        assertThat(ImageUtil.isJpg(fileName), is(false)); 
    }
                
    @Test
    public void isJpg_PNG() throws Exception {
        // Setup
        String fileName = "a.PNG";
        // Exercise
        // Verify
        assertThat(ImageUtil.isJpg(fileName), is(false)); 
    }
 
}

Googleアドセンス用(PC)

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

関連記事

no image

Stream#map()とStream#collect()を使ってListを生成する

Java8 から導入された Stream API も少しずつ慣れてきて、「そういえばこういうパターン

記事を読む

icatch-10139609144_5bc33706f9_z-resized

保存ダイアログを表示させてファイルをダウンロードさせる方法

例えば、ブラウザに表示している画像は右クリックを使ってダウンロードできますが、左クリックから保存ダイ

記事を読む

icatch-zip_524574337_mini-thumbnail

Java でファイルが1つだけ圧縮された zip を解凍するサンプル

ファイルが1つだけ圧縮された zip を解凍するサンプルです。 単一ファイルが圧縮された zip

記事を読む

no image

Spark を使って JSON を返すシンプルな API を書いてみた

必要に迫られてモックの API を作成することになった。 大した工数を割けないので使ったことのある

記事を読む

medium_2055608272

指定した年月の日付を Calendar オブジェクトの一覧で取得する

小ワザです。 業務で、指定した年月の日付を Calendar オブジェクトの一覧で取得する必要があり

記事を読む

no image

Java から VBScript を使って Excel を印刷する

背景 Java のデスクトップアプリを作成していたときの要件に「Excel で作成された帳票を印刷

記事を読む

icatch-upload_1229138273_mini-thumbnail

InputStream に格納されているストリームデータのサイズを取得する

Jersey を使った Web アプリを作成中なんですが、 enctype="multipart/f

記事を読む

medium_182531101

ClassLoader を使って getResourceAsStream で取得したファイルを UTF-8 で読み込む

よく使う割には覚えられず毎回調べている気がするので備忘録としてメモしておきます。 文字コードを指定し

記事を読む

icatch-thumbnail

レスポンスにサムネイル画像を返す API のサンプル

今回は直接 ImageMagick は関係ありませんが、また画像ネタです。この辺りのことを仕事で扱っ

記事を読む

no image

ファイルに関するユーティリティ

ファイルに関するスニペットをいくつか書いた。いつかコピペする日が来ると思うのでメモしておく。 作成

記事を読む

Googleアドセンス用(PC)

Message

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


+ 5 = 七

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Googleアドセンス用(PC)

icatch-jersey_multi_pathparams
Jerseyの@PathParamはスラッシュの間に複数指定できる

http://hoge-api/user/{id}.{format}

icatch-vagrant_box_customize
VagrantのBoxファイルをカスタマイズして独自のBoxファイルを作成する

配布されている Vagrant の Box ファイルを使って検証環境を

icatch-2015-006-1
バリデーションチェックにJava8のOptionalを使ってスマートに書く(自分比)

Web アプリのバリデーションチェックにアノテーションを使うことが増え

icatch-2015-005-1
ユニットテストの偏りを防ぐ命名規則の付け方

ユニットテスト名に以下の命名規則を付けるようにして二ヶ月ぐらい経った。

icatch-2015-004-1
Vagrantで起動したCentOS上のOctopressをホストOSから確認する設定

タイトルの通りだが、Vagrant を使って起動した CentOS に

→もっと見る

PAGE TOP ↑