java調用瀏覽器打開url(支持Mac,Unix,Linux,Windows)

fpy7 9年前發布 | 2K 次閱讀 Java

import java.lang.reflect.Method;

public class OpenUrl {

public static void openURL(String url) {
    try {
        browse(url);
    } catch (Exception e) {
    }
}

private static void browse(String url) throws Exception {
    // 獲取操作系統的名字
    String osName = System.getProperty("os.name", "");
    if (osName.startsWith("Mac OS")) {
        // 蘋果
        Class fileMgr = Class.forName("com.apple.eio.FileManager");
        Method openURL = fileMgr.getDeclaredMethod("openURL",
                new Class[] { String.class });
        openURL.invoke(null, new Object[] { url });
    } else if (osName.startsWith("Windows")) {
        // windows
        Runtime.getRuntime().exec(
                "rundll32 url.dll,FileProtocolHandler " + url);
    } else {
        // Unix or Linux
        String[] browsers = { "firefox", "opera", "konqueror", "epiphany",
                "mozilla", "netscape" };
        String browser = null;
        for (int count = 0; count < browsers.length && browser == null; count++)
            // 執行代碼,在brower有值后跳出,
            // 這里是如果進程創建成功了,==0是表示正常結束。
            if (Runtime.getRuntime()
                    .exec(new String[] { "which", browsers[count] })
                    .waitFor() == 0)
                browser = browsers[count];
        if (browser == null)
            throw new Exception("Could not find web browser");
        else
            // 這個值在上面已經成功的得到了一個進程。
            Runtime.getRuntime().exec(new String[] { browser, url });
    }
}

}</pre>

 本文由用戶 fpy7 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!