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")) {// windows

Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);

} else if (osName.startsWith("Mac OS")) {// Mac

Class fileMgr = Class.forName("com.apple.eio.FileManager");

Method openURL = fileMgr.getDeclaredMethod("openURL", String.class);

openURL.invoke(null, 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 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 openurl不弹出新页面_Java调用浏览器打开指定页面的5种方法(最全)相关推荐

  1. Java调用浏览器打开指定页面的5种方法(最全)

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

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

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

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

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

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

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

  5. java list 合并 重复的数据_Java ArrayList合并并删除重复数据3种方法

    首页 > 基础教程 > 集合框架 > ArrayList类 Java ArrayList合并并删除重复数据3种方法 1. 通过List自带方法list.retainAll() Lis ...

  6. java中map如何实现遍历_Java中如何遍历Map对象的4种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

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

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

  8. selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素)

    selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素) 参考文章: (1)selenium+python,解 ...

  9. js弹出新页面并传值

    showModalDialog 详细使用 基本介绍:showModalDialog() (IE 4+ 支持)showModelessDialog() (IE 5+ 支持)window.showModa ...

最新文章

  1. zz职位是有负面作用的
  2. Oracle 解决4031错误
  3. 技术分享:什么是CDN鉴权(by光网烈火)
  4. python查询缺失值所在位置_Python Pandas找到缺失值的位置方法
  5. NanoDet:这是个小于4M超轻量目标检测模型
  6. OK6410开发板学习之外部中断(按键点亮led和蜂鸣器)
  7. 最简单的 RabbitMQ 监控方法 - 每天5分钟玩转 OpenStack(158)
  8. Tableau可视化学习笔记:day11-12
  9. 数字图像处理(matlab版)第三版,数字图像处理及MATLAB实现(第3版)
  10. 2022软工K班个人编程任务
  11. Eclipse svn插件安装详细教程
  12. 开源一套DUI控件源码
  13. html如何让标签居中显示,HTML怎么让标签居中
  14. 24点扑克游戏详细解析附代码
  15. 富士施乐3065扫描教程_富士施乐打印机3065怎么连接电脑扫描
  16. ThinkPad系统重装步骤
  17. TLS1.3TLS1.2形式化分析
  18. “浅尝”JavaScript设计模式
  19. matlab 打开xml文件怎么打开方式,导入 XML 文档
  20. php怎么改字体大小,phpstorm修改字体和大小

热门文章

  1. 发那科机器人控制柜示教器不通电_邳州FANUC示教器维修维修{机器人故障免费检测}...
  2. 电脑切换应用和软件分屏
  3. 企业版微信小程序申请流程
  4. MySQL获取表行数
  5. 离散傅里叶级数展开及逼近
  6. iOS开发证书申请教程(udid真机调试测试)
  7. JAVA/IOS下emjoi表情的截取
  8. 声明一个CPU类,包含等级(rank),频率(frequency),电压(voltage)等属性
  9. 使用 ESP32 + HaaS Python 打造智能温湿度UI面板
  10. 基于Matlab虹膜图像的外边界定位