android获取URL路径

时间:2012-09-16 09:31:27

标签: java 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)的目的。

3 个答案:

答案 0 :(得分:2)

你应该使用android.net.Uri

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

如果您想使用URL类(当您的图像位于Internet上时),您必须提供有效的URL(从有效的URL前缀开始,如http://,https://等)。在你的情况下你应该使用Uri类。 Uri对象可以指向本地文件系统中的文件。例如:

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