java 通过url打开浏览器显示网页

来源:互联网 发布:页面js有但是报未加载 编辑:程序博客网 时间:2024/04/29 21:24

新浪微博提供的API中有个类BareBonesBrowserLaunch,它的函数openURL可以实现调用浏览器程序,根据传递的url参数,打开url对应的网页。

public class BareBonesBrowserLaunch {        public static void openURL(String url) {          try {              browse(url);          } catch (Exception e) {              JOptionPane.showMessageDialog(null, "Error attempting to launch web browser:\n" + e.getLocalizedMessage());          }      }        private static void browse(String url) throws ClassNotFoundException, IllegalAccessException,              IllegalArgumentException, InterruptedException, InvocationTargetException, IOException,              NoSuchMethodException {          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")) {              Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);          } else { // assume Unix or Linux              String[] browsers = { "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" };              String browser = null;              for (int count = 0; count < browsers.length && browser == null; count++)                  if (Runtime.getRuntime().exec(new String[] { "which", browsers[count] }).waitFor() == 0)                      browser = browsers[count];              if (browser == null)                  throw new NoSuchMethodException("Could not find web browser");              else                  Runtime.getRuntime().exec(new String[] { browser, url });          }      }  }  


0 0
原创粉丝点击