我试图从简单的外观条件中获得一个简单的结果,但不知道为什么当每件事看起来都没问题时它不起作用!
public static String getMIME(File file){
String result=null;
String type = null;
String extension = MimeTypeMap.getFileExtensionFromUrl(file.getAbsolutePath());
if (extension != null) {
MimeTypeMap mime = MimeTypeMap.getSingleton();
type = mime.getMimeTypeFromExtension(extension);
if(type!=null){
final String SplittedType=(type.split("\\/"))[0];
System.out.println("Splittedtype: "+SplittedType);
Log.i("MIME",type);
if(!SplittedType.equals("image") || !SplittedType.equals("video") ){
result = "Unknown";
}else{
result = SplittedType;
}
}else{
result = "Unknown";
}
}
System.out.println("Result : "+result);
return result;
}
Logcat显示正确的值,但结果总是"未知"虽然SplittedType是图像或视频,但我唯一能想到的是OR条件不是Wokring!
答案 0 :(得分:0)
您可能想要使用AND条件(&&)。
if(!SplittedType.equals("image") && !SplittedType.equals("video") ){
result = "Unknown";
} else {
result = SplittedType;
}
仅当类型不是"图像"而不是"视频",那你就不知道了。如果类型是"图像"或者"视频",然后它不是"未知"。