java程序中指定某个浏览器打开的实现方法

本文主要介绍的是利用java程序打开指定某个的浏览器,文中分享了四种实现方法,感兴趣的朋友们下面来一起看看吧。

方法一:

package com.test;

import java.lang.reflect.Method;

//实现打开浏览器并跳到指定网址的类
public class BareBonesBrowserLaunch {
 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 });
  }
 }
}

//主方法 测试类
public static void main(String[] args) {
 // 这里填写你的网址
 String url = "xxx";
 BareBonesBrowserLaunch.openURL(url);
}

方法二:

使用默认浏览器打开:

 String site = "www.baidu.com";
 try {
  Desktop desktop = Desktop.getDesktop();
  if (desktop.isDesktopSupported() && desktop.isSupported(Desktop.Action.BROWSE)) {
   URI uri = new URI(site);
   desktop.browse(uri);
  }
 } catch (IOException ex) {
  System.out.println(ex);
 } catch (URISyntaxException ex) {
  System.out.println(ex);
 }

方法三:

通过获取环境变量的浏览器路径,然后启动浏览器

String firefox="C:\\Program Files\\Mozilla Firefox\\firefox.exe";
    Map map = System.getenv();
    for(Iterator itr = map.keySet().iterator();itr.hasNext();){
     String value = (String)map.get((String)itr.next());
     if (value.contains("firefox.exe")) {
      firefox=value;
      break;
    }
    }
     Runtime.getRuntime().exec(new String[] {firefox, "www.baidu.com" });

方法四:

js方式:

<script type="text/javascript">
window.onload=function(){
var WSH = new ActiveXObject("WScript.Shell");
  WSH.Run("chrome.exe www.baidu.com");
}

</script>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • Java使用默认浏览器打开指定URL的方法(二种方法)

    直接看代码:方法一: 复制代码 代码如下: Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler http://www.jb51.net"); 方法二: 复制代码 代码如下: //判断当前系统是否支持Java AWT Desktop扩展        if(java.awt.Desktop.isDesktopSupported()){            try{                //创建一个UR

  • Java调用浏览器打开网页完整实例

    本文实例讲述了Java调用浏览器打开网页的方法.分享给大家供大家参考.具体实现方法如下: package com.yifang.demo; import java.io.File; public class OpenPageDemo { public static void main(String[] args) { try { //String url = "http://www.baidu.com"; String url = "http://www.jb51.net/&

  • java程序中指定某个浏览器打开的实现方法

    本文主要介绍的是利用java程序打开指定某个的浏览器,文中分享了四种实现方法,感兴趣的朋友们下面来一起看看吧. 方法一: package com.test; import java.lang.reflect.Method; //实现打开浏览器并跳到指定网址的类 public class BareBonesBrowserLaunch { public static void openURL(String url) { try { browse(url); } catch (Exception e)

  • Java程序中Doc文档注释示例教程

    目录 Doc注释规范 @符号的用处 如何生成Doc文档 第一个:Dos命令生成 第二个:IDE工具生成 许多人写代码时总不喜欢写注释,每个程序员如此,嘿嘿,我也一样 不过,话说回来,该写还是要写哦!没人会喜欢一个不写注释的程序员,当然,也没有一个喜欢写注释的程序员,今天,我们就来说说Java注释之一--Doc注释 我们知道,Java支持 3 种注释,分别是单行注释.多行注释和文档注释,我们来看看他们的样子 //单行注释   /* 多行注释 */   /** *@... *.... *文档注释 *

  • 详解在Java程序中运用Redis缓存对象的方法

    这段时间一直有人问如何在Redis中缓存Java中的List 集合数据,其实很简单,常用的方式有两种: 1. 利用序列化,把对象序列化成二进制格式,Redis 提供了 相关API方法存储二进制,取数据时再反序列化回来,转换成对象. 2. 利用 Json与java对象之间可以相互转换的方式进行存值和取值. 正面针对这两种方法,特意写了一个工具类,来实现数据的存取功能. 1. 首页在Spring框架中配置 JedisPool 连接池对象,此对象可以创建 Redis的连接 Jedis对象.当然,必须导

  • java程序中protobuf的基本用法示例

    目录 简介 为什么使用protobuf 定义.proto文件 编译协议文件 详解生成的文件 Builders 和 Messages 序列化和反序列化 协议扩展 总结 简介 Protocol Buffer是google出品的一种对象序列化的方式,它的体积小传输快,深得大家的喜爱.protobuf是一种平台无关和语言无关的协议,通过protobuf的定义文件,可以轻松的将其转换成多种语言的实现,非常方便. 今天将会给大家介绍一下,protobuf的基本使用和同java结合的具体案例. 为什么使用pr

  • 在java程序中使用protobuf

    目录 在java程序中使用protobuf 1.为什么使用protobuf 2.定义.proto文件 3.编译协议文件 4.详解生成的文件 5.Builders 和 Messages 6.序列化和反序列化 7.协议扩展 在java程序中使用protobuf 1.为什么使用protobuf 我们知道数据在网络传输中是以二进制进行的,一般我们使用字节byte来表示, 一个byte是8bits,如果要在网络上中传输对象,一般需要将对象序列化,序列化的目的就是将对象转换成byte数组在网络中传输,当接收

  • Java程序中方法的用法重载和递归

    目录 前言 一.方法的基本用法 1.什么是方法 2.方法的基本定义 3.方法调用的执行过程 4.方法中的实参和形参 二.方法的重载 1.重载的概念 2.例题分析 三.方法的递归 1.递归定义 2.例题分析 3.递归应用场景 总结 前言 "方法"又被称为"函数",其他的编程语言也有这个概念,重要性不言而喻,在这个文章,将介绍如何定义和使用方法. 一.方法的基本用法 1.什么是方法 在Java中,方法定义在类中,它和类的成员属性(数据成员)一起构建一个完整的类.构成方法

  • 如何在Java程序中访问mysql数据库中的数据并进行简单的操作

    在上篇文章给大家介绍了Myeclipse连接mysql数据库的方法,通过本文给大家介绍如何在Java程序中访问mysql数据库中的数据并进行简单的操作,具体详情请看下文. 创建一个javaProject,并输入如下java代码: package link; import java.sql.*; /** * 使用JDBC连接数据库MySQL的过程 * DataBase:fuck, table:person: * 使用myeclipse对mysql数据库进行增删改查的基本操作. */ public

  • Java程序中实现调用Python脚本的方法详解

    本文实例讲述了Java程序中实现调用Python脚本的方法.分享给大家供大家参考,具体如下: 在程序开发中,有时候需要Java程序中调用相关Python脚本,以下内容记录了先关步骤和可能出现问题的解决办法. 1.在Eclipse中新建Maven工程: 2.pom.xml文件中添加如下依赖包之后update maven工程: <dependency> <groupId>org.python</groupId> <artifactId>jython</ar

  • Java字符串中指定部分反转的三种方式

    目录 方式一:把字符串转化为char[] 方式二:使用String的拼接 方式三:使用StringBuffer/StringBuilder替换String 附实战例子 总结 将“asdfghj”反转为“ashgfdj” 方式一:把字符串转化为char[] 调用String类中toCharArray()方法把字符串转化为字符,而后开始时索引和结束时索引利用for()循环反转指定字符,结束 public class StringDemo { public static void main(Strin

  • 如何定位java程序中占用cpu最高的线程堆栈信息

    找出占用cpu最高的线程堆栈信息 在java编码中,有时会因为粗心导致cpu占用较高的情况,为了避免影响程序的正常运行,需要找到问题并解决.这里模拟一个cpu占用较高的场景,并尝试定位到代码行. 示例代码如下: public class Math { public static final int initData = 666; public static User user = new User(); public int compute() { //一个方法对应一块栈帧内存区域 int a

随机推荐