java程序中指定某個(gè)瀏覽器打開(kāi)的實(shí)現(xiàn)方法
本文主要介紹的是利用java程序打開(kāi)指定某個(gè)的瀏覽器,文中分享了四種實(shí)現(xiàn)方法,感興趣的朋友們下面來(lái)一起看看吧。
方法一:
package com.test;
import java.lang.reflect.Method;
//實(shí)現(xiàn)打開(kāi)瀏覽器并跳到指定網(wǎng)址的類
public class BareBonesBrowserLaunch {
public static void openURL(String url) {
try {
browse(url);
} catch (Exception e) {
}
}
private static void browse(String url) throws Exception {
//獲取操作系統(tǒng)的名字
String osName = System.getProperty("os.name", "");
if (osName.startsWith("Mac OS")) {
//蘋(píng)果的打開(kāi)方式
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的打開(kāi)方式。
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
} else {
// Unix or Linux的打開(kāi)方式
String[] browsers = { "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" };
String browser = null;
for (int count = 0; count < browsers.length && browser == null; count++)
//執(zhí)行代碼,在brower有值后跳出,
//這里是如果進(jìn)程創(chuàng)建成功了,==0是表示正常結(jié)束。
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
//這個(gè)值在上面已經(jīng)成功的得到了一個(gè)進(jìn)程。
Runtime.getRuntime().exec(new String[] { browser, url });
}
}
}
//主方法 測(cè)試類
public static void main(String[] args) {
// 這里填寫(xiě)你的網(wǎng)址
String url = "xxx";
BareBonesBrowserLaunch.openURL(url);
}
方法二:
使用默認(rèn)瀏覽器打開(kāi):
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);
}
方法三:
通過(guò)獲取環(huán)境變量的瀏覽器路徑,然后啟動(dòng)瀏覽器
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>
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
SpringBoot種如何使用?EasyExcel?實(shí)現(xiàn)自定義表頭導(dǎo)出并實(shí)現(xiàn)數(shù)據(jù)格式化轉(zhuǎn)換
本文詳細(xì)介紹了如何使用EasyExcel工具類實(shí)現(xiàn)自定義表頭導(dǎo)出,并實(shí)現(xiàn)數(shù)據(jù)格式化轉(zhuǎn)換與添加下拉框操作,通過(guò)示例和代碼,展示了如何處理不同數(shù)據(jù)結(jié)構(gòu)和注解,確保數(shù)據(jù)在導(dǎo)出時(shí)能夠正確顯示和格式化,此外,還介紹了如何解決特定數(shù)據(jù)類型的轉(zhuǎn)換問(wèn)題,并提供了解決方案2024-11-11
SpringBoot集成Elasticsearch過(guò)程實(shí)例
這篇文章主要介紹了SpringBoot集成Elasticsearch過(guò)程實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Java String字符串內(nèi)容實(shí)現(xiàn)添加雙引號(hào)
這篇文章主要介紹了Java String字符串內(nèi)容實(shí)現(xiàn)添加雙引號(hào),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
springboot詳解實(shí)現(xiàn)車險(xiǎn)理賠信息管理系統(tǒng)代碼
本系統(tǒng)基于Springboot開(kāi)發(fā)實(shí)現(xiàn)了一個(gè)為用戶車險(xiǎn)進(jìn)行理賠信息管理的一個(gè)信息化管理系統(tǒng),核心的業(yè)務(wù)主要是用戶申請(qǐng)保險(xiǎn)理賠,管理員審核進(jìn)入理賠程序,事故調(diào)查員對(duì)事故進(jìn)行調(diào)查和現(xiàn)場(chǎng)勘察,這其中共涉及到三類用戶,購(gòu)買保險(xiǎn)的客戶,事故調(diào)查員和系統(tǒng)管理員2022-06-06
java.lang.NoClassDefFoundError錯(cuò)誤的原因及解決方法
這篇文章主要給大家介紹了關(guān)于java.lang.NoClassDefFoundError錯(cuò)誤的原因及解決的相關(guān)資料,java.lang.NoClassDefFoundError是Java虛擬機(jī)在運(yùn)行時(shí)無(wú)法找到特定類的錯(cuò)誤,需要的朋友可以參考下2023-10-10
Spring?AOP實(shí)現(xiàn)多數(shù)據(jù)源動(dòng)態(tài)切換
本文主要介紹了Spring?AOP實(shí)現(xiàn)多數(shù)據(jù)源動(dòng)態(tài)切換,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03

