您的位置:首页 > 移动开发 > Android开发

Android获取URL中文件的扩展名的方法

2014-09-05 10:28 351 查看
如果你要是想从字符串是截取那就是想找找 最后一个. 在哪个地方,然后再再去找 . 后面的字符,但Android提供了一个方法可以直接获取。

android.webkit 包中

String ext = MimeTypeMap.getFileExtensionFromUrl(String url);

原代码是这样的:

/**
* Returns the file extension or an empty string iff there is no
* extension. This method is a convenience method for obtaining the
* extension of a url and has undefined results for other Strings.
* @param url
* @return The file extension of the given url.
*/
public static String getFileExtensionFromUrl(String url) {
if (!TextUtils.isEmpty(url)) {
int fragment = url.lastIndexOf('#');
if (fragment > 0) {
url = url.substring(0, fragment);
}

int query = url.lastIndexOf('?');
if (query > 0) {
url = url.substring(0, query);
}

int filenamePos = url.lastIndexOf('/');
String filename =
0 <= filenamePos ? url.substring(filenamePos + 1) : url;

// if the filename contains special characters, we don't
// consider it valid for our matching purposes:
if (!filename.isEmpty() &&
Pattern.matches("[a-zA-Z_0-9\\.\\-\\(\\)\\%]+", filename)) {
int dotPos = filename.lastIndexOf('.');
if (0 <= dotPos) {
return filename.substring(dotPos + 1);
}
}
}

return "";
}

其实他写的程序也是通过字符串的处理来做到的,不过他已经写好了我们直接用就是了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  URL 扩展名