java 获取url的文件名_java 获取某个URL的文件扩展名的方法(非精确,精确的扩展名应该使用服务器返回的MIME-TYPE)...

public staticString 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);

}

}returnextension;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值