使用Java代码打开浏览器,打开本地应用程序 java RunTime 使用 RunTime打开浏览器

阅读: 评论:0

   使用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 = "www.baidu/";
		// 获取操作系统的名字
		String osName = Property("os.name");
		if (osName.startsWith("Mac OS")) {
			// 操作系统为 Mac (苹果电脑)
			Class<?> fileMgr = Class.forName("com.apple.eio.FileManager");
			Method openURL = DeclaredMethod("openURL", new Class[] { String.class });
			openURL.invoke(null, new Object[] { url });
		} else if (osName.startsWith("Windows")) {
			// 操作系统为 Windows
			Runtime().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().exec(new String[] { "which", browsers[count] }).waitFor() == 0) {
					browser = browsers[count];
				}
			}
			if (browser == null) {
				throw new Exception("Could not find web browser");
			} else {
				// 这个值在上面已经成功的得到了一个进程。
				Runtime().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().exec("C:\Users\Administrator\Desktop\ipconfig.bat");
		// 获取并返回文件的MD5值
		Process process = Runtime().exec("certutil -hashfile C:\Users\Administrator\Desktop\id_card.jpg MD5");
		// 获取返回的输入流
		InputStream inputStream = InputStream();
		BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "GBK"));
		String line;
		StringBuffer stringBuffer = new StringBuffer();
		while ((line = adLine()) != null) {
			stringBuffer.append(line).append("rn");
		}
		bufferedReader.close();
		System.out.String());
		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().exec(cmds);
		// 打开计算器
	//	Runtime().exec("calc");
		// 系统的CPU数量
		int count = Runtime().availableProcessors();
		System.out.println("系统的CPU数量: " + count);
	}

 

 

本文发布于:2025-04-05 08:20:00,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/1743812408583889.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23