20-02-其他对象API(Runtime类)

来源:互联网 发布:淘宝自动打款时间 编辑:程序博客网 时间:2024/05/29 16:19
package cn.itcast.runtime.demo;import java.io.IOException;public class RunTimeDemo {public static void main(String[] args) throws IOException {/* * (1)打开API中的java.lang包,找到Runtime类,每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的 * 环境相连接。可以通过 getRuntime 方法获取当前运行时。应用程序不能创建自己的 Runtime 类实例。 *  * 发现Runtime中只有方法摘要,而没有构造方法摘要,那么该类不能创建对象(因为构造函数被私有化)。 *  * 既然不能new对象,那么希望Runtime中的方法应该都是静态的,结果发现不是。 *  * 【注意联想】如果一个类没有构造方法(即构造函数私有化),同时该类具备一般非静态方法,那么这个类100%至少有一个方法是静态, * 并返回本类对象。→单例设计模式(若仅有static一个方法返回本类对象,那么就是单例,若不止一个,则不是单例) *  * 【结论】Runtime类使用了单例设计模式 */Runtime r = Runtime.getRuntime();//通过该类提供的静态方法获取到唯一的对象//execute:执行。其实是xxx.exe文件后缀名的全称//Runtime中方法之一:Process exec(String command),读取本地命令/文件/……r.exec("notepad.exe");//如果本地文件不存在,则读取不了,发生异常,所以要用try-catch或者throws声明//r.exec("QQ.exe");上一行可以打开记事本文件,这一行QQ开不了。//因为程序先在当前目录下寻找所要开启的程序,如果没有,就去classpath中找,结果找到记事本程序没找到QQ//r.exec("C:\桌面图标\腾讯QQ");这样写不行,因为\表示转义字符,而不是路径中的\//r.exec("C:\\桌面图标\\腾讯QQ.exe");r.exec("notepad.exe D:\\iphone记录");//先打开记事本软件,然后用该软件开启D盘中的“iphone记录”文件//Process是进程,是一个类,其内有个destroy方法,可以结束进程Process p = r.exec("notepad.exe");//开启进程p.destroy();//结束进程(秒杀)}}

0 0
原创粉丝点击