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
獲取中間關鍵的主機名即可。
