zoukankan      html  css  js  c++  java
  • Android Url相关工具 通用类UrlUtil

    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;
        }
    }
    View Code

    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.获取媒体资源类型

      

      什么是MIME Type?==>参考这篇文章吧。

      下面这是常用的资源类型。

      

    2.6.根据url获取host name

      

      这里又用到正则表达式了。

      作用很简单。

      http://www.baidu.com/==>www.baidu.com

      获取中间关键的主机名即可。



    既然选择了,便不顾风雨兼程。Just follow yourself.
  • 相关阅读:
    E百科 | 第2期 扒一扒能加速互联网的QUIC协议
    阿里的 RocketMQ 如何让双十一峰值之下 0 故障?
    阿里巴巴开源容器镜像加速技术
    Fluid — 云原生环境下的高效“数据物流系统”
    一站式云原生智能告警运维平台——SLS新版告警发布!
    重磅官宣:Nacos2.0 发布,性能提升 10 倍
    阿里云高级技术专家周哲:阿里云边缘云原生应用实践
    互联网泛娱乐直播安全的解决之道
    货运物流移动端解决方案:为货运物流行业打造高性能、高粘性的“双端”触点
    SpringMVC(十四) RequestMapping ModelAndView
  • 原文地址:https://www.cnblogs.com/Jason-Jan/p/7911013.html
Copyright © 2011-2022 走看看