2012-10-05 12 views
0

獲得動態圖像的名字我有一個動態的字符串像動態字符串在java中

age/data/images/four_seasons1.jpg 

從上面的字符串,我需要獨自一人的圖像名稱(即)four_seasons1.jpg

路徑和圖像將是一個動態的(任何圖像格式occure)

請讓我知道如何在Java中做到這一點?

在此先感謝

回答

0

你可以去正則表達式,但如果您發現該模式是固定的,一個很粗的解決方案可以是直接的方法

String url = "age/data/images/four_seasons1.jpg"; 

    String imageName = url.substring(url.lastIndexOf("/")+1, url.length()) ; 
4

使用File對象。

new File("/path/to/file").getName() 

你也可以使用String.split()。

"/path/to/file/sdf.png".split("/") 

這會給你一個你選擇最後一個元素的數組。但是文件對象更適合。

+0

假設它不是來自比方說,一個''標籤的參考...(相反沒有證據的,這是沒有錯的;)) – MadProgrammer

+1

當然:-)中但是有很多人在工作路徑基於字符串的方式破壞了Java程序的平臺獨立性。 「/」與「\」 ... – ajuch

+0

我同意,我想使用的概念'File'是一個很好的一個,它的簡單和乾淨。就個人而言,我會盡可能使用'File.separator'。 – MadProgrammer

1
String text = "age/data/images/four_seasons1.jpg"; 

String name = text.substring(text.lastIndexOf("/") + 1); 
String path = text.substring(0, text.lastIndexOf("/")); 
System.out.println(name); 
System.out.println(path); 

輸出

four_seasons1.jpg 
age/data/images 

花些時間熟悉java.lang.String API。你會做這種東西很多

0

您可以分析這個路徑。作爲分隔符,您必須採用'/'符號。之後,你可以採取最後解析的元素。

String phrase = "age/data/images/four_seasons1.jpg"; 
String delims = "/"; 
String[] tokens = phrase.split(delims); 

關於String.split你可以閱讀更多here

0
String s = "age/data/images/four_seasons1.jpg"; 

String fileName = new String(); 

String[] arr = s.split("/"); 

fileName = arr[arr.length-1]; 

} 
+1

你真的需要這個for循環嗎? – besworland

+0

@besworland如說由OP的路徑是動態的...所以會有人猜測它的ARR文件名的索引存在.... –

+2

無需循環。你可以提取最後一個字符串。 – Shashwat