ファイルパスを指定すると、そのファイルがJava(Android)の画像であるかどうかを知る最も簡単な方法は何ですか?ありがとうファイルがJava/Androidの画像であるかどうかを確認する
答えて
これを行うのに役立つ外部ツールがあります。 JMimeMagicとJMagickをチェックしてください。 ImageIO
クラスを使用してファイルを読み込もうとすることもできますが、これは高価になる可能性があり、完全に安全ではありません。
BufferedImage image = ImageIO.read(new FileInputStream(new File(..._)));
この質問は何回SOに頼まれました。
How to check a uploaded file whether it is a image or other file?
public static boolean isImage(File file) {
if (file == null || !file.exists()) {
return false;
}
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(file.getPath(), options);
return options.outWidth != -1 && options.outHeight != -1;
}
これはどのように動作するのですか? – Micro
@MicroR、 'options.inJustDecodeBounds = true;'を設定した場合、 'BitmapFactory'は画像全体のデータをデコードせず、画像のメタデータのみをデコードします。 fileが 'BitmapFactory'よりも有効なイメージであれば、メタデータを解析し、' options.outWidth'と 'options.outHeight'を埋めます。これらのフィールドには、画像の幅と高さが含まれます。復号化エラーが発生した場合、フィールドには-1が含まれます。 docs http://developer.android.com/intl/ru/reference/android/graphics/BitmapFactory.Options.html#outWidthを参照してください。 – danik
メモリと多くの面で*これは*非常に非常に悪いです
public static boolean isViewableImage(String name) {
String suffix = name.substring(name.lastIndexOf('.') + 1).toLowerCase();
if (suffix.length() == 0)
return false;
if (suffix.equals("svg"))
// don't support svg preview
return false;
String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(suffix);
if (mime == null)
return false;
return mime.contains("image");
}
- 1. 画像が色付きであるかどうかを確認
- 2. applescript/shell script - 画像があるかどうか確認する
- 3. 私のローカルリソースに画像があるかどうかを確認する
- 4. URLが画像であるかどうかを確認するにはどうすればよいですか?
- 5. 画像が実際に画像であるかどうかを確認する正しい方法
- 6. 画像が実際に画像であるかどうかを確認するには?
- 7. CGPointが画像領域内にあるかどうかを確認します
- 8. getimagesize()を使用してファイルが画像であるかどうかを確認する
- 9. PDFページにテキストが含まれているかどうかを確認するか、純粋に画像であるかどうかを確認する
- 10. クリップボードにコピーされたファイルが画像であるかどうかを確認します
- 11. ".txt"ファイルであるかどうかを確認する検証
- 12. JAppletで画像がクリックされたかどうかを確認するには?
- 13. 画像がプリロードされているかどうかを確認するには?
- 14. VBがフォルダ内でファイルがあるかどうかを確認する
- 15. ファイルが新しいファイルであるかどうかを確認します。
- 16. ファイルがcvsのバイナリであるかどうかを確認するには
- 17. ファイルの内容が空であるかどうかを確認するには?
- 18. アップロードされたファイルがMIMEタイプのない画像であるかどうかを確認するにはどうすればよいですか?
- 19. get_headersを使用してリモートファイルが画像であるかどうかを確認する方法
- 20. 画像がクリックされたかどうかを確認するには
- 21. wp7 - 画像がロードされたかどうかを確認する方法
- 22. blobstoreファイルが可読であるかどうかを確認する方法
- 23. アップロードされたファイルがCSVファイルであるかどうかを確認
- 24. Androidサーバがオンラインであるかどうかを確認する
- 25. flowLayoutPanelが空であるかどうかを確認する#
- 26. 文字がスラッシュであるかどうかを確認する
- 27. 要素がフォームフィールドであるかどうかを確認する
- 28. フィールドがシステムフィールドであるかどうかを確認する
- 29. 別のプログラムが開いているファイルがあるかどうかを確認
- 30. 動的に呼び出されるURLに画像があるかどうかを確認する
このコードセグメントを試してください:同じトピック上のこれらの追加のスレッドが参照してください。画像のチェックが行われます。 ** OutOfMemoryError ** –
これは複数のファイルの場合には良いアプローチではありません。 –