[英]extracting filename with extension form URL
假設我有以下字符串
http://i2.kym-cdn.com/photos/images/original/000/748/132/b84.png
從中提取b84.png的最佳方法是什么? 我的程序將獲取圖像URL的列表,我想從每個URL中提取帶有擴展名的文件名。
我建議使用URI創建這樣的File
:
String url = "http://i2.kym-cdn.com/photos/images/original/000/748/132/b84.png";
URI uri = URI.create(url);
File f = new File(uri.getPath());
uri.getPath()
僅返回url的路徑部分(即刪除方案,主機等)並產生以下內容:
/photos/images/original/000/748/132/b84.png
然后,您可以使用創建的File
對象從完整路徑中提取文件名:
String fileName = f.getName();
System.out.println(fileName);
打印語句的輸出為: b84.png
但是,如果您根本不關心url的輸入格式,則子字符串答案會更簡潔。 我想我會提供另一種選擇。 希望能幫助到你。
嘗試,
String url = "http://i2.kym-cdn.com/photos/images/original/000/748/132/b84.png";
String fileName = url.subString(url.lastIndexOf("/")+1);
String[] urlArray=yourUrlString.split("/");
String fileName=urlArray[urlArray.length-1];
我認為,字符串lastIndexOf方法是提取文件名的最佳方法
String str = "http://i2.kym-cdn.com/photos/images/original/000/748/132/b84.png";
String result = str.substring(str.lastIndexOf('/')+1,str.length());
您可以嘗試-
String url = "http://i2.kym-cdn.com/photos/images/original/000/748/132/b84.png"
url = url.substring(url.lastIndexOf("."));
如果您不是png而不是.png,只需將最后一行更改為:
url = url.substring(url.lastIndexOf(".") + 1);
最適合您的方法
public String Name(String url){
url=url.replace('\\', '/');
return url.substring(url.lastIndexOf('/')+1,url.length());
}
此方法返回任何目錄的任何文件名...出現錯誤,因為將“ \\”轉換為“ /”,所以不同目錄永遠不會出現問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.