1.整体分析
1.1.源代码查看,可以直接Copy。
public class UrlUtil { public static boolean isUrlPrefix(String url) { return url.startsWith("http://") || url.startsWith("https://"); } /** * 判断后缀是不是图片类型的 * * @param url url */ public static boolean isImageSuffix(String url) { return url.endsWith(".png") || url.endsWith(".PNG") || url.endsWith(".jpg") || url.endsWith(".JPG") || url.endsWith(".jpeg") || url.endsWith(".JPEG"); } /** * 判断后缀是不是 GIF * * @param url url */ public static boolean isGifSuffix(String url) { return url.endsWith(".gif") || url.endsWith(".GIF"); } /** * 获取后缀名 */ public static String getSuffix(String url) { if ((url != null) && (url.length() > 0)) { int dot = url.lastIndexOf('.'); if ((dot > -1) && (dot < (url.length() - 1))) { return url.substring(dot + 1); } } return url; } /** * 获取 mimeType */ public static String getMimeType(String url) { if (url.endsWith(".png") || url.endsWith(".PNG")) { return "data:image/png;base64,"; } else if (url.endsWith(".jpg") || url.endsWith(".jpeg") || url.endsWith(".JPG") || url.endsWith(".JPEG")) { return "data:image/jpg;base64,"; } else if (url.endsWith(".gif") || url.endsWith(".GIF")) { return "data:image/gif;base64,"; } else { return ""; } } /** * 根据 url 获取 host name * http://www.gcssloop.com/ => www.gcssloop.com */ public static String getHost(String url) { if (url == null || url.trim().equals("")) { return ""; } String host = ""; Pattern p = Pattern.compile("(?<=//|)((\w)+\.)+\w+"); Matcher matcher = p.matcher(url); if (matcher.find()) { host = matcher.group(); } return host; } }
1.2.主要方法
- isUrlPrefix(String url)==>判断这个链接的前缀是http或者https
- isImageSuffix(String url)==>判断这个链接后缀是不是图片类型的
- isGifSuffix(String url)==>判断这个链接的后缀是不是GIF
- getSuffix(String url)==>判断这个链接的后缀是啥
- getMimeType(String url)==>获取mimeType(资源媒体类型)
- getHost(String url)==>获取主机名,就是截取url中间关键的主机
2.局部分析
2.1.判断链接的前缀是不是http或https
这里调用了字符串的方法,很容易。
2.2.判断后缀是不是图片类型的
这里只判断了几种常用类型的图片
.PNG
.jpg
.JPG
.jpeg
.JPEG
还有一些需要的类型也可以加上去。
2.3.判断后缀是不是GIF
记得大小写都要判断。
2.4.获取后缀名
以最后一个.为基准,将后面的后缀截取出来。
2.5.获取媒体资源类型
下面这是常用的资源类型。
2.6.根据url获取host name
这里又用到正则表达式了。
作用很简单。
http://www.baidu.com/==>www.baidu.com
获取中间关键的主机名即可。