17

我有一个 uri ( java.net.URI),例如http://www.example.com。如何在 Java 中将其作为流打开?

我真的必须使用 URL 类吗?

4

5 回答 5

15

您将必须创建一个新URL对象,然后在URL实例上打开流。下面是一个例子。

try {

   URL url = uri.toURL(); //get URL from your uri object
   InputStream stream = url.openStream();

} catch (MalformedURLException e) {
   e.printStackTrace();
} catch (URISyntaxException e) {
   e.printStackTrace();
}catch (IOException e) {
   e.printStackTrace();
}
于 2012-05-18T18:18:42.793 回答
6

URLConnection connection = uri.toURL().openConnection()

是的,您必须以URL一种或另一种方式使用该类。

于 2012-05-18T18:17:07.380 回答
5

您应该使用 ContentResolver 来获取 InputStream:

InputStream is = getContentResolver().openInputStream(uri);

代码在 Activity 对象范围内有效。

于 2019-02-19T09:46:28.540 回答
3

uri.toURL().openStream()或者uri.toURL().openConnection().getInputStream()

于 2012-05-18T18:19:05.383 回答
0

您可以使用URLConnection读取给定 URL 的数据。- URL连接

于 2012-05-18T18:15:40.400 回答