ファイルパスを指定すると、そのファイルが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. 画像が有効かどうかを確認するPNGファイル
- 3. applescript/shell script - 画像があるかどうか確認する
- 4. 私のローカルリソースに画像があるかどうかを確認する
- 5. ボタンにこの画像があるかどうかを確認する方法
- 6. 画像ファイル名が存在するかどうかを確認する
- 7. ギャラリーに画像があるかどうかを確認する方法は?
- 8. 画像が暗いかどうかを確認するには?
- 9. URLが画像であるかどうかを確認するにはどうすればよいですか?
- 10. 画像が実際に画像であるかどうかを確認する正しい方法
- 11. 画像が実際に画像であるかどうかを確認するには?
- 12. CGPointが画像領域内にあるかどうかを確認します
- 13. アイコンが画像上にあるかどうかを確認します
- 14. getimagesize()を使用してファイルが画像であるかどうかを確認する
- 15. PDFページにテキストが含まれているかどうかを確認するか、純粋に画像であるかどうかを確認する
- 16. plistファイルがあるかどうかを確認する
- 17. クリップボードにコピーされたファイルが画像であるかどうかを確認します
- 18. 画像列がNULLかどうかを確認します。VB.NET
- 19. ".txt"ファイルであるかどうかを確認する検証
- 20. ファイルがjavascriptファイルであるかどうかを確認するには?
- 21. JAppletで画像がクリックされたかどうかを確認するには?
- 22. 画像がプリロードされているかどうかを確認するには?
- 23. VBがフォルダ内でファイルがあるかどうかを確認する
- 24. Visual Basic 2つの画像が同じかどうかを確認する
- 25. ファイルが新しいファイルであるかどうかを確認します。
- 26. ファイルの内容が空であるかどうかを確認するには?
- 27. ファイルがcvsのバイナリであるかどうかを確認するには
- 28. Juliaでファイルが空であるかどうかを確認するには?
- 29. アップロードされたファイルがMIMEタイプのない画像であるかどうかを確認するにはどうすればよいですか?
- 30. get_headersを使用してリモートファイルが画像であるかどうかを確認する方法
このコードセグメントを試してください:同じトピック上のこれらの追加のスレッドが参照してください。画像のチェックが行われます。 ** OutOfMemoryError ** –
これは複数のファイルの場合には良いアプローチではありません。 –