可能重複:
Know if a file is a image in Java/AndroidAndroid:如何檢查文件是否爲圖像?
如何檢查一個文件,如果它是一個形象呢? 類似以下內容:
如果(file.isImage)....
如果這是無法實現的標準庫,我怎麼能與MagickImage LIB辦呢?
在此先感謝!
可能重複:
Know if a file is a image in Java/AndroidAndroid:如何檢查文件是否爲圖像?
如何檢查一個文件,如果它是一個形象呢? 類似以下內容:
如果(file.isImage)....
如果這是無法實現的標準庫,我怎麼能與MagickImage LIB辦呢?
在此先感謝!
試試這個代碼親愛的。
public class ImageFileFilter implements FileFilter
{
File file;
private final String[] okFileExtensions = new String[] {"jpg", "png", "gif","jpeg"};
/**
*
*/
public ImageFileFilter(File newfile)
{
this.file=newfile;
}
public boolean accept(File file)
{
for (String extension : okFileExtensions)
{
if (file.getName().toLowerCase().endsWith(extension))
{
return true;
}
}
return false;
}
}
它工作正常。
並使用它就像 (新的ImageFileFilter(傳遞文件名));
這工作...現在我必須搜索每個圖像擴展名... –
大多數親愛的。 –
@ZalaJanaksinh這將爲任何具有「圖像文件擴展名」的文件返回「true」,例如如果我將'test.mp3'重命名爲'test.jpg',你的方法將返回'true'。 – Baz
我想如果你想檢查一個文件是否是一個圖像,你需要閱讀它。圖像文件可能不符合文件擴展名規則。你可以嘗試通過BitmapFactory如下解析文件:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
Bitmap bitmap = BitmapFactory.decodeFile(path, options);
if (options.outWidth != -1 && options.outHeight != -1) {
// This is an image file.
}
else {
// This is not an image file.
}
但你需要'try'' catch'吧?.. – Doomsknight
你可以檢查BitmapFactory.decodeFile(path,options)的返回值; – zsxwing
options.inJustDecodeBounds = true減少解析時間成本,因爲decodeFile將僅解析圖像的寬度和高度。 – zsxwing
可能是你可以對文件擴展名檢查.. –
可能重複http://stackoverflow.com/q/9244710/681807 –
我認爲這不是正確的方式來檢查文件擴展名。因爲我將不得不創建一個函數,檢查每個圖像文件擴展名,如BMP,JPG,JPEG,PNG,GIF,TIF等... –