黑马程序员---Runtime类

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

 

Runtime对象

该类并没有提供构造函数。

说明不可以new对象。那么会直接想到该类中的方法都是静态的。

发现该类中还有非静态方法。

说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。

由这个特点可以看出该类使用了单例设计模式完成。

 

该方式是static Runtime getRuntime();

static Runtime

getRuntime()
          返回与当前 Java 应用程序相关的运行时对象。

Processexec(String command)
          在单独的进程中执行指定的字符串命令。

class RuntimeDemo 
{
	public static void main(String[] args) throws Exception
	{
		Runtime run = Runtime.getRuntime();
		run.exec("notepad.exe");
				
	}
}

打开了记事本

 

Process exec(String command)方法返回了一个Process类对象。

public abstract class Process 是个抽象类

Process进程类中有一个杀掉子进程的方法

abstract  voiddestroy()
          杀掉子进程。

class  RuntimeDemo
{
	public static void main(String[] args) throws Exception
	{
		Runtime r = Runtime.getRuntime();
		Process p = r.exec("notepad.exe");
		
		Thread.sleep(4000);
		p.destroy();
	}
}

记事本被打开,停留4秒钟,然后被杀掉了。

 

注意:exec(String command);参数如果不写路径,只写应用程序名.exe的话,只能打开环境变量path中定义的C:\Windows\System32文件夹中的.exe文件。

别忘了写转义字符哦,\要写成\\才能识别。

class RuntimeDemo 
{
	public static void main(String[] args) throws Exception
	{
		Runtime run = Runtime.getRuntime();
		Process p = run.exec("D:\\Program Files (x86)\\duowan\\yy\\YY.exe");
		//Thread.sleep(4000);
		//p.destroy();
	}
}

 

 

还有一个重要的:

在应用程序名.exe后面加空格,再写上一个这个exe应用程序能打开的文件,就能打开这个文件了。

class  RuntimeDemo
{
	public static void main(String[] args) throws Exception
	{
		Runtime r = Runtime.getRuntime();
		Process p = r.exec("notepad.exe  SystemDemo.java");
		
		//Thread.sleep(4000);
		//p.destroy();
	}
}

打开的是带文字的记事本:


 

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值