Abrir una url en un navegador desde Java

Miércoles, 24 de Octubre de 2007

Sacado del código fuente de H2, clase org.h2.util.StartBrowser

    public static void openURL(String url) {
        String osName = System.getProperty("os.name");
        try {
            if (osName.startsWith("Windows")) {
                Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
            } else if (osName.startsWith("Mac OS X")) {
                // Runtime.getRuntime().exec("open -a safari " + url);
                // Runtime.getRuntime().exec("open " + url + "/index.html");
                Runtime.getRuntime().exec("open " + url);
            } else {
                System.out.println("Please open a browser and go to "+ url);
            }
        } catch (IOException e) {
            System.out.println("Failed to start a browser to open the url " + url);
            e.printStackTrace();
        }
    }

4 comentarios to “Abrir una url en un navegador desde Java”

  1. toptnc:

    Cojonudo. O sea que si no usas Windows ni Mac OSX no puedes lanzar un navegador…. Estos de H2 son unos genios incomprendidos

  2. chuidiang:

    Hola:

    Es como lo del virus gallego… “soy un virus, por favor, borre su disco duro”. :-)

    De todas formas, es el problema si quieres abrir un navegador, debes comprobar en qué sistema operativo estás y abrilo en consecuencia.

    Otra opción es hacerse o buscarse algún tipo de panel java que sea capaz de mostrar páginas html. Hacer uno que visualice páginas html puras es casi inmediato. El problema es si queremos que funcione javascript, css, etc.

    Se bueno.

  3. tokawevos:

    Ganas de complicarse la vida ¿no?.

    ¿Por qué no usar soluciones ya probadas como BrowserLauncher (http://browserlaunch2.sourceforge.net/)?

Hacer un comentario

XHTML: Puedes utilizar las siguientes etiquetas:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Verification Image

Debes leer y teclear los caracteres entre 0..9 y A..F para enviar la respuesta.