2012-09-16 101 views
2

我有一個字符串:Android開URL路徑

public://imageifarm/3600.jpg 

我怎樣才能提取

imageifarm/3600.jpg 

部分出採用了android?

我試過到目前爲止:

URL drupalQuestionNodeImageURI = new URL("public://imageifarm/3600.jpg"); 
Log.d("TAG", drupalQuestionNodeImageURI.getPath()); 

但引發此異常:

09-16 17:24:39.992: W/System.err(3763): java.net.MalformedURLException: Unknown protocol: public 

我怎樣才能解決這個問題?

我知道我可以使用正則表達式,但這似乎在這種情況下擊敗了URL(URI)的目的。

回答

2

如果你想有使用URL類(當你坐在像在互聯網上),你必須提供有效的URL(從有效的URL前綴開頭,就像您應使用android.net.Uri

Uri mUri = Uri.parse(public://imageifarm/3600.jpg);  
String extract = mUri.getEncodedSchemeSpecificPart(); 
+0

它返回'// imageifarm/3600.jpg',我應該手動刪除'/ /'還是有一個Uri函數呢? – tom91136

+0

我認爲你應該手動刪除它 – nandeesh

1

使用java.net.URI,而不是java.net.URL。

1

http://,https://等)。在你的情況下,你應該使用Uri類。 Uri對象可以指向本地文件系統中的文件。例如:

Uri.fromFile(new File("public://imageifarm/3600.jpg"));