我正在尝试使用 android.webkit 包中的 MimeTypeMap.class 从文件中检索扩展名。
File file = new File(someUrl);
String ext = MimeTypeMap.getSingleton()
.getFileExtensionFromUrl(file.getAbsolutePath());
如果文件名中包含空格,则file.getName()返回null或空字符串。
如何解决?
public static String getMimeType(File file) {
String extension = getExtension(file.getName());
if (extension.length() > 0)
return MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension.substring(1));
return "application/octet-stream";
}
public static String getExtension(String uri) {
if (uri == null) {
return null;
}
int dot = uri.lastIndexOf(".");
if (dot >= 0) {
return uri.substring(dot);
} else {
// No extension.
return "";
}
}
您可以使用:
ContentResolver cr = get ContentResolver();
String type = MimeTypeMap.getSingleton().GetExtensionFromMimeType( cR.getType(uri));
java.net.URLEncoder.encode(file.getAbsolutePath())
- anemomylos