android url后缀名,Android获取URL中文件的扩展名的方法

这篇博客介绍了Android中如何从URL中提取文件扩展名,利用webkit包中的MimeTypeMap.getFileExtensionFromUrl方法。该方法通过字符串处理,查找最后一个'.'的位置,从而获取文件扩展。这个便利的函数适用于处理URL,避免了手动解析的复杂性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你要是想从字符串是截取那就是想找找 最后一个. 在哪个地方,然后再再去找 . 后面的字符,但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 "";

}

其实他写的程序也是通过字符串的处理来做到的,不过他已经写好了我们直接用就是了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值