使用Java代码打开浏览器,打开本地应用程序 java RunTime 使用 RunTime打开浏览器
一、打开浏览器
/**
* description: 使用Java代码打开浏览器 browser --- RunTime 类打开
* @throws Exception
* @return void
* @version v1.0
* @author w
* @date 2019年8月11日 下午1:37:01
*/
@Test
public void browser () throws Exception {
// 浏览器要打开的链接URL
String url = "https://www.baidu/";
// 获取操作系统的名字
String osName = System.getProperty("os.name");
if (osName.startsWith("Mac OS")) {
// 操作系统为 Mac (苹果电脑)
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 {
// 操作系统为 Linux 或 Unix
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 });
}
}
}
二、获取返回值
/**
* description: 获取java RunTime 执行进程的返回值
* @return void
* @version v1.0
* @author w
* @throws IOException
* @date 2019年8月10日 下午9:20:21
*/
@Test
public void test() throws IOException {
// ipconfig.bat 代码是: ipconfig/all
// Process process = Runtime.getRuntime().exec("C:\\Users\\Administrator\\Desktop\\ipconfig.bat");
// 获取并返回文件的MD5值
Process process = Runtime.getRuntime().exec("certutil -hashfile C:\\Users\\Administrator\\Desktop\\id_card.jpg MD5");
// 获取返回的输入流
InputStream inputStream = process.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "GBK"));
String line;
StringBuffer stringBuffer = new StringBuffer();
while ((line = bufferedReader.readLine()) != null) {
stringBuffer.append(line).append("\r\n");
}
bufferedReader.close();
System.out.println(stringBuffer.toString());
System.out.println("over ...");
}
三、打开cmd窗口、执行某一个bat脚本
/**
* description: 打开cmd窗口、执行某一个bat脚本
* @throws IOException
* @return void
* @version v1.0
* @author w
* @date 2019年8月11日 下午1:51:41
*/
@Test
public void testCMD() throws IOException {
// 打开 cmd 窗口
// String[] cmds = { "cmd", "/C", "start"};
// 执行 ipconfig.bat 脚本, 里面代码为: ipconfig/all
String[] cmds = { "cmd", "/C", "start C:\\Users\\Administrator\\Desktop\\ipconfig.bat"};
Runtime.getRuntime().exec(cmds);
// 打开计算器
// Runtime.getRuntime().exec("calc");
// 系统的CPU数量
int count = Runtime.getRuntime().availableProcessors();
System.out.println("系统的CPU数量: " + count);
}
使用Java代码打开浏览器,打开本地应用程序 java RunTime 使用 RunTime打开浏览器
一、打开浏览器
/**
* description: 使用Java代码打开浏览器 browser --- RunTime 类打开
* @throws Exception
* @return void
* @version v1.0
* @author w
* @date 2019年8月11日 下午1:37:01
*/
@Test
public void browser () throws Exception {
// 浏览器要打开的链接URL
String url = "https://www.baidu/";
// 获取操作系统的名字
String osName = System.getProperty("os.name");
if (osName.startsWith("Mac OS")) {
// 操作系统为 Mac (苹果电脑)
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 {
// 操作系统为 Linux 或 Unix
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 });
}
}
}
二、获取返回值
/**
* description: 获取java RunTime 执行进程的返回值
* @return void
* @version v1.0
* @author w
* @throws IOException
* @date 2019年8月10日 下午9:20:21
*/
@Test
public void test() throws IOException {
// ipconfig.bat 代码是: ipconfig/all
// Process process = Runtime.getRuntime().exec("C:\\Users\\Administrator\\Desktop\\ipconfig.bat");
// 获取并返回文件的MD5值
Process process = Runtime.getRuntime().exec("certutil -hashfile C:\\Users\\Administrator\\Desktop\\id_card.jpg MD5");
// 获取返回的输入流
InputStream inputStream = process.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "GBK"));
String line;
StringBuffer stringBuffer = new StringBuffer();
while ((line = bufferedReader.readLine()) != null) {
stringBuffer.append(line).append("\r\n");
}
bufferedReader.close();
System.out.println(stringBuffer.toString());
System.out.println("over ...");
}
三、打开cmd窗口、执行某一个bat脚本
/**
* description: 打开cmd窗口、执行某一个bat脚本
* @throws IOException
* @return void
* @version v1.0
* @author w
* @date 2019年8月11日 下午1:51:41
*/
@Test
public void testCMD() throws IOException {
// 打开 cmd 窗口
// String[] cmds = { "cmd", "/C", "start"};
// 执行 ipconfig.bat 脚本, 里面代码为: ipconfig/all
String[] cmds = { "cmd", "/C", "start C:\\Users\\Administrator\\Desktop\\ipconfig.bat"};
Runtime.getRuntime().exec(cmds);
// 打开计算器
// Runtime.getRuntime().exec("calc");
// 系统的CPU数量
int count = Runtime.getRuntime().availableProcessors();
System.out.println("系统的CPU数量: " + count);
}