package com.xbz;import java.awt.*;
import java.lang.reflect.Method;
import java.net.URI;
import java.util.Map;/*** @title java调用浏览器打开指定页面* @author Xingbz*/
public class XDemo {private static void browse1(String url) throws Exception {String osName = System.getProperty("os.name", "");// 获取操作系统的名字if (osName.startsWith("Windows")) {// windowsRuntime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);} else if (osName.startsWith("Mac OS")) {// MacClass fileMgr = Class.forName("com.apple.eio.FileManager");Method openURL = fileMgr.getDeclaredMethod("openURL", String.class);openURL.invoke(null, url);} else {// Unix or LinuxString[] 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 RuntimeException("未找到任何可用的浏览器");} else {// 这个值在上面已经成功的得到了一个进程。Runtime.getRuntime().exec(new String[]{browser, url});}}}/*** @title 使用默认浏览器打开* @author Xingbz*/private static void browse2(String url) throws Exception {Desktop desktop = Desktop.getDesktop();if (Desktop.isDesktopSupported() && desktop.isSupported(Desktop.Action.BROWSE)) {URI uri = new URI(url);desktop.browse(uri);}}/*** @title 通过获取环境变量的浏览器路径, 然后启动浏览器* @author Xingbz*/private static void browse3(String url) throws Exception {String firefox = "C:\\Program Files\\Mozilla Firefox\\firefox.exe";Map map = System.getenv();for (Object key : map.keySet()) {String value = (String) map.get(key);if (value.contains("firefox.exe")) {firefox = value;break;}}Runtime.getRuntime().exec(new String[]{firefox, url});}/*** @title 启用cmd运行IE的方式来打开网址* @author Xingbz*/private static void browse4(String url) throws Exception {Runtime.getRuntime().exec("cmd /c start " + url);//启用cmd运行默认浏览器
//        Runtime.getRuntime().exec("cmd /c start iexplore " + url);//启用cmd运行IE}/*** @title 利用java.lang.ProcessBuilder类创建系统进程的能力,通过浏览器地址启动浏览器,并将网址作为参数传送给浏览器。* ProcessBuilder类是J2SE1.5在java.lang中新添加的一个新类,此类用于创建操作系统进程,它提供一种启动和管理进程(也就是应用程序)的方法。* @author Xingbz*/private static void browse5(String url) throws Exception {ProcessBuilder proc = new ProcessBuilder("C:\\Program Files\\Mozilla Firefox\\firefox.exe",url);proc.start();}public static void main(String[] args) throws Exception {
//        browse1("https://blog.csdn.net/xingbaozhen1210");
//        browse2("https://blog.csdn.net/xingbaozhen1210");
//        browse3("https://blog.csdn.net/xingbaozhen1210");
//        browse4("https://blog.csdn.net/xingbaozhen1210");browse5("https://blog.csdn.net/xingbaozhen1210");}
}

Java调用浏览器打开指定页面的5种方法(最全)相关推荐

  1. java openurl不弹出新页面_Java调用浏览器打开指定页面的5种方法(最全)

    package com.xbz; import java.awt.*; import java.lang.reflect.Method; import java.net.URI; import jav ...

  2. VB创建超链接 打开指定网站的几种方法

    方法一:  Shell "Rundll32.exe url.dll, FileProtocolHandler  http://miaozk2006.blog.163.com", v ...

  3. w7系统打开服务器,Win7系统打开服务管理界面的几种方法

    导语:Win7系统在服务窗口可以关闭/开启服务程序,但需要在服务窗口界面才能操作,那么Win7系统怎么打开服务管理界面呢?今天小编与大家分享下Win7系统打开服务管理界面的具体操作步骤,欢迎参考! W ...

  4. Java唤起浏览器打开指定网页

    xl_echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!! 这 ...

  5. vc调用浏览器打开指定网址页面

    2019独角兽企业重金招聘Python工程师标准>>> ShellExecute(NULL,NULL,L"http://www.shudaji.com/",NUL ...

  6. python调用hive与java调用区别_Python操作Hive的两种方法总结

    方法一:使用PyHive库pip install sasl pip install thrift pip install thrift-sasl pip install PyHive Python脚本 ...

  7. java调用指定浏览器_Java调用浏览器打开网页完整实例

    本文实例讲述了java调用浏览器打开网页的方法.分享给大家供大家参考.具体实现方法如下: package com.yifang.demo; import java.io.file; public cl ...

  8. java调用浏览器_Java调用浏览器打开网页实例完整版

    Java调用浏览器打开网页实例完整版 引导语:如何用Java调用浏览器打开网页呢?以下是百分网小编分享给大家的`Java调用浏览器打开网页实例完整版,欢迎阅读! package com.yifang. ...

  9. java打开浏览器_Java调用浏览器打开网页完整实例

    这篇文章主要介绍了Java调用浏览器打开网页的方法,以完整实例形式分析了java打开网页的相关技巧,需要的朋友可以参考下 本文实例讲述了Java调用浏览器打开网页的方法.分享给大家供大家参考.具体实现 ...

最新文章

  1. [C++]C++中的IO类
  2. Mono项目宣布将整合F#
  3. python 命令行参数-Python3之命令行参数处理
  4. Win7下用IIS发布网站
  5. 多核学习在图像分类中的应用
  6. 校园交易平台后台系统git操作全过程
  7. boost::mpl模块实现vector_c相关的测试程序
  8. 【51单片机快速入门指南】4.6:I2C 与 PCF8563实时时钟日历芯片
  9. 六、Python第六课——Python中的for循环及数字列表
  10. ORACLE START WITH 语句的树级结构例子
  11. 怎么注册购买163VIP邮箱
  12. 浏览器点击后退提示_当点击浏览器后退时会发生什么
  13. Powerbi简体中文版修改数据显示单位为英文方法
  14. TNS-12555 TNS-12560错误
  15. 聚播微信多开客服系统二次开发SDK服务端接口
  16. VUE报错You are using the runtime-only build of Vue where the template compiler is not available
  17. 恋与抽卡模拟器网页_《公主连结》抽卡模拟器网站是什么 抽卡模拟器地址介绍...
  18. oraclenbsp;level关键字
  19. 关于我上传的资源!!
  20. Json和Json解析

热门文章

  1. steghide隐写术
  2. 让IE6-IE8 支持HTML5
  3. SQL 必知必会·笔记7汇总数据——使用聚合函数
  4. Android Studio 安装具体步骤(配图)
  5. IntelliJ IDEA 编辑器配置vue高亮显示
  6. css3实现背景渐变的方法
  7. 初识【jQuery】,入门必看!
  8. 算法分析与设计「五」动态规划
  9. Browser-Bookmark-Codeing
  10. 网页遥控室内智能设备