Метод openStream
Метод openStream класса URL открывает соединение
с ресурсом, на который указывает данный URL, и возвращает
объект InputStream для чтения данных из этого ресурса.
Метод не принимает параметров. Он является сокращённой формой
вызова openConnection().getInputStream. Полученный
поток необходимо закрывать после использования, например,
с помощью конструкции try-with-resources.
Синтаксис
url.openStream()
Пример
Давайте откроем поток для URL и прочитаем первую строку
с помощью BufferedReader:
import java.net.URL;
import java.io.InputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main
{
public static void main(String[] args) throws Exception
{
URL url = new URL("https://code.mu");
try (InputStream is = url.openStream();
BufferedReader br = new BufferedReader(
new InputStreamReader(is)))
{
String line = br.readLine();
System.out.println(line);
}
}
}
Результат выполнения кода:
"<!DOCTYPE html>"
Пример
Давайте прочитаем все содержимое ресурса в виде строки и выведем его длину:
import java.net.URL;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
public class Main
{
public static void main(String[] args) throws Exception
{
URL url = new URL("https://code.mu");
String res;
try (InputStream is = url.openStream())
{
byte[] bytes = is.readAllBytes();
res = new String(bytes, StandardCharsets.UTF_8);
}
System.out.println(res.length());
}
}
Результат выполнения кода:
"12345"
Пример
Давайте получим поток от URL и проверим, что он
не равен null:
import java.net.URL;
import java.io.InputStream;
public class Main
{
public static void main(String[] args) throws Exception
{
URL url = new URL("https://code.mu");
try (InputStream is = url.openStream())
{
boolean res = is != null;
System.out.println(res);
}
}
}
Результат выполнения кода:
true
Смотрите также
-
класс
URL,
который представляет адрес ресурса -
метод
openConnection,
который открывает соединение с ресурсом -
метод
toURI,
который преобразует URL в URI -
метод
getProtocol,
который возвращает протокол URL