黑马程序员——JAVA学习笔记(二)

------- android培训java培训、期待与您交流! ----------

二、Runtime类

每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。 


应用程序不能创建自己的 Runtime 类实例。


2.1、构造函数

Runtime类并没有提供构造函数,说明不可以new对象,那么该类中的方法都是静态的。

在Runtime类的定义中没有构造方法,因为其构造方法被私有化了,即被设计成单例模式了,那么在此类中必然有一个静态方法可以返回本类的实例化对象。


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


2.2、成员方法

Runtime类中的方法并不常用,但有些是需要特别注意的,如下:


(1)、exce()方法

该方法在单独的进程中执行指定的字符串命令。

使用示例:

class RuntimeDemo
{
	public static void main(String[] arg) throws Exception
	{
		Runtime r = Runtime.getRuntime();
                //可以执行各类文件 但必须抛出异常
		r.exec("c:\\qq.exe");
	}
}


(2)、exce()方法的总结:

1、如何执行非系统注册的命令比如Windows的dir。


 请使用命令 "cmd /c dir"
 其他情况类似
 
 2、如何打开带空格的外部文件或文件夹。
  最基本的打开外部文件的方式 "cmd /c start 文件",若文件名有空格,则会出现错误,请使用以下方式解决
 

 String[] cmd = new String[5];
  cmd[0] = "cmd";
  cmd[1] = "/c";
  cmd[2] = "start";
  cmd[3] = " ";
  cmd[4] = "E:\\kk sd\\www.txt";
  Process process = Runtime.getRuntime().exec(cmd);

Process process = Runtime.getRuntime().exec("cmd /c start \"\" \"E:\\kk sd\\www.txt\"");


因为按找文档说明 start 命令之后首先是[title],再是[filepath],所以将title设置为 " "
 
3、调用外部程序来打开一个相应的文件


比如我们要使用Editplus来打开一个远程机器上的文件,可以这样

 Runtime.getRuntime().exec("D:\\EditPlus 2\\EditPlus.exe"+" "+\\\\172.16.1.6\\server1\\SystemErr.log)

Runtime.getRuntime().exec("外部程序位置"+" "+"要打开的文件").

以此方式可以忽略空格的问题


2.3、个人总结

Runtime类封装了运行时的环境。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。一般不能实例化一个Runtime对象,应用程序也不能创建自己的 Runtime 类实例,但可以通过 getRuntime 方法获取当前Runtime运行时对象的引用。 一旦得到了一个当前的Runtime对象的引用,就可以调用Runtime对象的方法去控制Java虚拟机的状态和行为。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值