Как открыть ссылку в браузере через Java?
Нужно открыть заданную ссылку через основной браузер на Java.
Ответы (1 шт):
Если Вы хотите открыть ссылку в браузере из вашего приложения в Desktop окружении, то можете воспользоваться классом java.awt.Desktop.
Данный класс позволяет Java запускать приложения, зарегистрированные в системе для обработки выбранных файлов или URI.
Данный класс поддерживает:
- запуск браузера по умолчанию
- запуск почтового клиента по умолчанию
- запуск приложения ассоциированного с определенным типом файла, для его обработки (например, дефолтный музыкальный проигрыватель для открытия mp3 или блокнот для открытия txt)
Открыть брайзер с его помощью можно примерно так:
Desktop.getDesktop().browse(new URI("https://ru.stackoverflow.com"));
Каждая операция представляет собой тип действия, представленный классом Desktop.Action.
Для открытия ссылки нам необходимо действие Desktop.Action.BROWSE.
Во избежания непредвиденных ошибок необходимо:
- проверить поддержку Desktop окружения
Desktop.isDesktopSupported() - проверить поддержку необходимого действия
Desktop.getDesktop().isSupported(Desktop.Action.BROWSE))
С проверкой поддержки вызов будет выглядеть следующим образом:
if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) {
Desktop.getDesktop().browse(new URI("https://ru.stackoverflow.com"));
}
И полноценный рабочий пример:
import java.io.IOException;
import java.net.URISyntaxException;
import java.awt.Desktop;
import java.net.URI;
public class Test {
public static void main(String[] args) {
try{
if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) {
Desktop.getDesktop().browse(new URI("https://ru.stackoverflow.com/"));
}
} catch (IOException e) {
throw new RuntimeException(e);
} catch (URISyntaxException e) {
throw new RuntimeException(e);
}
}
}
Документация: https://docs.oracle.com/javase/7/docs/api/java/awt/Desktop.html