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

网友投稿 267 2023-06-02


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

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

方法一:

package com.test;

import java.lang.reflect.Method;

//实现打开浏览器并跳到指定网址的类

public class BareBonesBrowserLaunch {

public static void openURL(String url) {

try {

broyRLTlKwse(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 = "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, "baidu.com" });

方法四:

js方式:

总结

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:基于Vue2.0的分页组件
下一篇:通过一个map替换字符串中指定的字符变量方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~