2

我有一个字符串:

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) 在这种情况下的目的。

4

3 回答 3

2

你应该使用 android.net.Uri

Uri mUri = Uri.parse(public://imageifarm/3600.jpg);    
String extract = mUri.getEncodedSchemeSpecificPart();
于 2012-09-16T09:39:50.967 回答
1

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

于 2012-09-16T09:36:19.893 回答
1

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

Uri.fromFile(new File("public://imageifarm/3600.jpg"));
于 2012-09-16T09:40:31.257 回答