package com.itmill.toolkit; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; /** * Class for controlling web browser. * * @author Sami Ekblad * */ public class BrowserControl { /** * Open browser on specified URL. * * @param url */ public static void openBrowser(String url) { Runtime runtime = Runtime.getRuntime(); Process proc = null; boolean started = false; String os = System.getProperty("os.name", "windows").toLowerCase(); // Linux if (os.indexOf("linux") >= 0) { // Try x-www-browser if (!started) { try { proc = runtime.exec("x-www-browser " + url); started = true; } catch (IOException e) { } } // Try firefox if (!started) { try { proc = runtime.exec("firefox " + url); started = true; } catch (IOException e) { } } // Try mozilla if (!started) { try { proc = runtime.exec("mozilla " + url); started = true; } catch (IOException e) { } } // Try konqueror if (!started) { try { proc = runtime.exec("konqueror " + url); started = true; } catch (IOException e) { } } } // OS X if (os.indexOf("mac os x") >= 0) { // Try open if (!started) { try { proc = runtime.exec("open " + url); started = true; } catch (IOException e) { } } } // Try cmd /start command on windows if (os.indexOf("win") >= 0) { if (!started) { try { proc = runtime.exec("cmd /c start " + url); started = true; } catch (IOException e) { } } } // put a BufferedReader on the ls output if (started) { InputStream inputstream = proc.getInputStream(); InputStreamReader inputstreamreader = new InputStreamReader( inputstream); BufferedReader bufferedreader = new BufferedReader( inputstreamreader); // read/write the output String line; try { while ((line = bufferedreader.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } } else { System.out.println("Failed to open browser. Please go to " + url); } } }