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 "";
}
其实他写的程序也是通过字符串的处理来做到的,不过他已经写好了我们直接用就是了。
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 "";
}
其实他写的程序也是通过字符串的处理来做到的,不过他已经写好了我们直接用就是了。
相关文章推荐
- 5种方法获取url中文件的扩展名
- java 获取某个URL的文件扩展名的方法(非精确,精确的扩展名应该使用服务器返回的MIME-TYPE)
- Android中由文件名获取文件Id的两种方法
- 获取文件路径 文件名 文件的扩展名的方法
- PHP中获取文件的扩展名的N中方法
- 全面的Android文件目录解析和获取方法(包含对6.0系统的说明)
- Android Smart Image View使用方法--从url获取图片或从通讯录获取图片,支持缓存
- android--由文件名获取文件Id的两种方法
- android 开发--获取文件的扩展名和去掉文件的扩展名
- PHP:6种方法获取文件的扩展名
- VC从文件全路径中获取文件名和扩展名方法(CString)
- android 中获取本地文件的url
- android应用 获取本地指定类型文件 的两种最优方法
- android--由文件名获取文件Id的两种方法
- VC从文件全路径中获取文件名和扩展名方法(CString)
- 获取一个目录下文件扩展名为txt或htm或html的文件的几种方法
- VC从文件全路径中获取文件名和扩展名方法(CString)
- android应用 获取本地指定类型文件 的两种最优方法
- PHP 获取文件的扩展名的6种方法
- android获取、计算文件夹和文件大小的方法