zoukankan      html  css  js  c++  java
  • java 获取某个URL的文件扩展名的方法(非精确,精确的扩展名应该使用服务器返回的MIME-TYPE)

        public static String getFileExtension(URL extUrl) {
            //URL: "http://photosaaaaa.net/photos-ak-snc1/v315/224/13/659629384/s659629384_752969_4472.jpg"
           // String filename = "";
            //PATH: /photos-ak-snc1/v315/224/13/659629384/s659629384_752969_4472.jpg
    
            String extension="";
            String path = extUrl.getPath();
            //Checks for both forward and/or backslash
            //NOTE:**While backslashes are not supported in URL's
            //most browsers will autoreplace them with forward slashes
            //So technically if you're parsing an html page you could run into
            //a backslash , so i'm accounting for them here;
            String[] pathContents = path.split("[\\/]");
            if(pathContents != null){
                int pathContentsLength = pathContents.length;
                //System.out.println("Path Contents Length: " + pathContentsLength);
    //            for (int i = 0; i < pathContents.length; i++) {
    //                System.out.println("Path " + i + ": " + pathContents[i]);
    //            }
                //lastPart: s659629384_752969_4472.jpg
                String lastPart = pathContents[pathContentsLength-1];
                String[] lastPartContents = lastPart.split("\.");
                if(lastPartContents != null && lastPartContents.length > 1){
                    int lastPartContentLength = lastPartContents.length;
                   // System.out.println("Last Part Length: " + lastPartContentLength);
                    //filenames can contain . , so we assume everything before
                    //the last . is the name, everything after the last . is the
                    //extension
                    String name = "";
                    for (int i = 0; i < lastPartContentLength; i++) {
                       // System.out.println("Last Part " + i + ": "+ lastPartContents[i]);
                        if(i < (lastPartContents.length -1)){
                            name += lastPartContents[i] ;
                            if(i < (lastPartContentLength -2)){
                                name += ".";
                            }
                        }
                    }
                    extension = lastPartContents[lastPartContentLength -1];
                   // filename = name + "." +extension;
                   // System.out.println("Name: " + name);
                   // System.out.println("Extension: " + extension);
                   // System.out.println("Filename: " + filename);
                }
            }
            return extension;
        }
  • 相关阅读:
    微信分享链接出现config:invalid signature错误的解决方法
    微信开发,分享部分出现的问题
    thinkphp 3.2 去除调试模式后报错,怎么解决
    MySQL添加新用户、为用户创建数据库、为新用户分配权限
    xshell工具source导入几个G的数据库
    thinkphp5引入公共部分header、footer等
    用样本估计总体
    随机抽样
    平面几何相关定理
    直线和曲线相切,曲线和曲线相切
  • 原文地址:https://www.cnblogs.com/sixiweb/p/6065623.html
Copyright © 2011-2022 走看看