今天,发现jdk中有两个比较有意思的类。
一个是DeskTop类(桌面类),还有一个是Runtime类(运行时类)
通常我们的javaweb项目都是放在tomcat服务器上,通过servlet来启动,不过今天我要说的是在java代码中就能打开浏览器或是其他的一些应用程序【先通过System类的getenv方法拿到环境变量的值,再去循环遍历出自己要打开的的应该程序的路径。】。而上面这两个类都是支持的。那我在这里呢,跟大家分享两个小方法;
顺便给附上jdk的API:https://docs.oracle.com/javase/8/docs/api/
哈哈!平时多几点单词,有用的文档大多是英文版噢。
String browser = "C:\\Program Files (x86)\\Tencent\\QQBrowser\\QQBrowser.exe";
String url = "https://www.baidu.com/";
一、使用main方法打开网址【默认浏览器】传入需要打开的网址
/**
* 使用默认浏览器
*
* @author WHD
* @date 2018年12月11日 下午3:46:30
*/
public static void OpenBrowser(String url){
if (Desktop.isDesktopSupported()) {
try {
// 创建一个URI实例
java.net.URI uri = java.net.URI.create(url);
// 获取当前系统桌面扩展
Desktop dp = Desktop.getDesktop();
// 判断系统桌面是否支持要执行的功能
if (dp.isSupported(Desktop.Action.BROWSE)) {
// 获取系统默认浏览器打开链接
dp.browse(uri);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
二、这个第二种打开浏览器的方法呢,支持指定浏览器
/**
* 使用Runtime类
*
*
* @author WHD
* @date 2018年12月11日 下午3:44:56
*/
public static void OpenBrowser(String url,String browser){
try {
Runtime.getRuntime().exec(new String[] {browser, url });
} catch (IOException e) {
e.printStackTrace();
}
}