Runtime类 调用windows程序。
import java.io.*;
public class webcyz {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Runtime runtime = Runtime.getRuntime();
runtime.exec("explorer /select, c:");
} catch (IOException e)
{
e.printStackTrace();
}
}
}
每一个Java应用程序都有一个Runtime类的实例,允许应用程序与其运行的环境进行交互。我们只能使用getRuntime方法得到当前的运行时环境。类的方法如下:
·public static Runtime getRuntime() 得到与当前Java应用程序相联系的运行时环境。
·public void exit(int status)
中断当前运行的Java虚拟机。参数status为状态码,通常非0的状态码描述非正常的中断
·public void addShutdownHook(Thread hook)
登记新的虚拟机shutdown hook。shutdown hook是一个简单的、已初始化但还未启动的线程。当虚拟机开始它的shutdown序列,虚拟机将以不确定的顺序启动所有的、已登记的 shutdown hook,并让它们并行运行。当所有的hook完成,如果支持finalization-on-exit,将调用所有未调用的finallizer。
在两种情况下Java虚拟机将关闭:
(1)程序正常退出,当最后一个非守护线程退出或调用了exit方法。
(2)虚拟机被用户中断(例如:键入了ctr+C),或者是一个系统范围的事件(例如:用户Logoff或系统关闭)。
一旦shutdown序列开始,就不可以再登记新的shutdown hook或解除先前登记的hook。否则,将抛掷IllegalStateException异常;如果参数hook已经登记,或者已经运行,将抛掷IllegalArgumentException异常;如果安全管理器存在且拒绝RuntimePermission("shut-downHooks"),将抛掷SeurityException异常。
·public boolean removeShutdownhook(Thread hook)
解除先前登记的虚拟机shutdown hook。
如果虚拟机已经处于shutdown过程,则抛掷IllegalStateException异常;如果安全管理器存在且否定RuntimePermission(“shutdownHooks”),将抛掷SecurityException异常。
·public void halt(int status)
强制中断当前运行的Java虚拟机,使用该方法应该非常地小心,与exit方法不同,它不会导致shutdown hook启动,即使支持finalization-on-exit,也不会运行还未调用的finalizer。参数status为中断的状态,通常,非0的状态码描述了非正常的中断。
如果安全管理器存在且其上的checkExit方法不允许以指定的状态退出,则抛掷SecurityException异常。
第5节 Runtime类(续1)
·public Process exec(String command)throws IOException
在一个单独的进程中执行参数command指定的命令,返回值为一个管理子进程的Process对象。
如果安全管理器存在且其上的checkExec方法不允许创建子进程,则抛掷SecurityException异常;如果发生I/O错误,则抛掷IOException异常。
·public Process exes(String cmd,String envp[]) throws IOException
在一个单独的进程中,使用指定的环境envp[],执行参数command指定的命令。其中envp[]为字符串数组,其格式为“名称= 值”。返回值为一个管理子进程的Process对象。
如果安全管理器存在且其上的checkExec方法不允许创建子进程,则抛掷SecurityException异常;如果发生I/O错误,则抛掷IOException异常。
·public Process exec(String command,String envp[],File dir) throws IOException
在一个单独的进程中,使用指定的环境envp[]和工作目录dir,执行参数command指定的命令。其中,envp[]为字符串数组,其格式为“名称= 值”。如果工作目录dir为null,子进程继承当前进程的的当前工作目录,返回值为一个管理子进程的Process对象。
如果安全管理器存在且其上的checkExec方法不允许创建子进程,则抛掷SecurityException异常;如果发生I/O错误,则抛掷IOExceptiop异常。
·public Process exec(String cmdarray[]) throws IOException
在一个单独的进程中,执行参数cmdarray[]指定的命令。参数cmdarray[]为需执行的命令的数组。返回值是一个管理子进程的Process对象。
如果安全管理器存在且checkExec方法不允许创建子进程,则抛掷SecurityException异常;如果发牛I/O错误,则抛掷IOException异常。
·public process exec(String cmdarray[],String enevp[]) throws IOException
在一个单独的进程中,使用指定的环境enevp[],执行参数cmdarray[]指定的命令。参数cmdarray[]为需执行命令的数组。返回值为一个管理子进程的Process对象。
如果安全管理器存在且其上的checkExec方法不允许创建子进程,则抛掷SecurityException异常;如果cmdarrat[]为null,则抛掷NullPointerException异常;如果cmdarray[]是一个长度为0的空数组,则抛掷IndexOutOfboundsException异常;如果发生I/O错误,则抛掷IOException异常。
·public Process exec(String cmdarray[],String enevp[],File dir) throws IOException
在一个单独的进程中,使用指定的环境enevp[]和工作目录dir,执行参数cmdarray[]指定的命令,返回值为一个管理子进程的Process对象。
如果安全管理器存在且其上的。checkExec方法不允许创建子进程,则抛掷securityException异常;如果cmdarray[]为null,则抛掷NullPointerException异常;如果cmdarray[]是一个长度为0的空数组,则抛掷IndexOutOfBoundsException异常;如果发生I/O错误,则抛掷IOException异常。
第5节 Runtime类(续2)
·public native long freeMemory()
得到系统的空闲内存,单位为字节。调用gc方法可能会导致freememory结果的增加。
·public native long totalMemory()
得到Java虚拟机中的内存总数,单位为字节。该方法的返回值会随事件的变化而变化,依赖于主机环境。
·public native void gc()
运行垃圾收集器。
·Public void runFinalization()
运行任何未决finalization对象的finalization方法。
·public native void traceInstructions(boolean on)
设置对指令的追踪,如果参数on为true,则Java虚拟机对于其上执行的每一条指令都发出调试信息。
·public native void traceMethodCalls(boolean on)
设置对调用方法的追踪。如果参数on为true,则支持指令的追踪。
·public void load(String filename)
装载参数filename指定的动态库。
如果安全管理器存在且其上的checkLink方法不允许装载指定动态库,将抛掷 SecurityException异常;如果filename参数指定的文件不存在,则抛掷UnsatisfiedLinkError异常。
·public void loadLibrary(String libname)
装载参数libname指定的动态库。
如果安全管理器存在且它的checkLink方法不允许指定动态库的装载,将抛掷SecurityException异常;如果参数指定的动态库不存在,则抛掷UnsatisfiedLinkError异常。
·public InputStream getLocalizaedInputStream(InputStream in)
创建本地化版本的输入流。
·public OutputStream getLocalizedOutputStream(OutputStream out)
创建本地化版本的输出流。
Runtime类 调用windows程序。的更多相关文章
- 实体类在Windows程序中的高级应用--------------------》》心境是一种境界。
一.事务 我们在大家学到这,或多或少对事务都有一些理解了.今天的我也对事务有了更深一层的理解对我来说,我想与大家一起分享一下. 解析: 1.ADO.NET提供了事务处理功能 2.C#中开启事务 3.在 ...
- Runtime 类
Runtime代表Java程序的运行时环境,每一个Java程序在运行时都有一个Runtime实例与之对应.Java程序通过它可以和运行时环境相连 1,和JVM进行交互,通知JVM进行垃圾回收等 2,获 ...
- JAVA_SE基础——68.RunTime类
RunTime类代表Java程序的运行时环境,每一个Java程序都有一个与之对应的Runtime实例,应用程序通过该对象与运行时环境相连,应用程序不能创建自己的Runtime实例,但可以通过getRu ...
- System类与Runtime类
PS: Java程序在不同操作系统上运行时,可能需要取得平台相关的属性,或者调用平台命令来完成特定功能.java提供了System类与Runtime类来与程序的运行平台进行交互. System类: 1 ...
- Java基础教程——RunTime类
RunTime类 java.lang.RunTime类代表Java程序的运行时环境. 可以进行垃圾回收(gc()),可以进行系统资源清理(runFinalization()): 可以加载文件(load ...
- C#调用Windows API(示例:显示任务管理器里的程序名称)
作为初学者来说,在C#中使用API确是一件令人头疼的问题. 在使用API之前你必须知道如何在C#中使用结构.类型转换.安全/不安全代码,可控/不可控代码等许多知识. 在.Net Framework S ...
- java使用RunTime调用windows命令行
当Java需要调用windows系统进行交互时,可以使用Runtime进行操作. 例子: 1.调用window中获取关于java相关的进行信息 Runtime rt = Runtime.getRunt ...
- 网页调用本地程序(Windows下浏览器全兼容)
用网页调用本地应用程序的思路是,先进行注册表注册自定义一个URL Protocol协议,再利用URL Protocol实现网页调用本地应用程序. 1.先写一个注册表文件,将其保存为.reg后缀的注册表 ...
- c# windows程序调用本地输入法
原文:c# windows程序调用本地输入法 好久没写博客了,今天写了一个DEMO,在WINform程序中调用本地输入法,并在窗体中显示出来.其中使用到了很多API,现把代码贴出来,供大家参考 ...
随机推荐
- C++怎么用二维数组作为形参传入
原文地址:http://blog.csdn.net/xuleicsu/article/details/919801 如何将二维数组作为函数的参数传递 今天写程序的时候要用到二维数组作参数传给一个函数, ...
- 《机器学习实战》 in python3.x
机器学习实战这本书是在python2.x的环境下写的,而python3.x中好多函数和2.x中的名称或使用方法都不一样了,因此对原书中的内容需要校正,下面简单的记录一下学习过程中fix的部分 1.pr ...
- VC++之运算符重载简单小结
封装继承和多态是面向对象三大基本支柱.在面向对象系统中有两种编译方式:静态联编和动态联编静态联编:也叫早期联编:指系统在编译时就决定如何实现某一动作,提供了执行速度快的优点.动态联编:也叫滞后联编:指 ...
- 简历编写技巧-java开发工程师简历实战
看到一遍简历编写的文章 想到也快找工作了 早晚能够用上 现在摘录如下 640?wx_fmt=jpeg 工欲善其事,必先利其器,这是自古以来的道理.所以如果想找到一份好的工作,一定要先整理一份好的简历. ...
- truffle开发一个简单的Dapp
1.安装Truffle:npm install -g truffle 2.建立项目目录并进入:mkdir pet-shop-tutorial cd pet-shop-tutorial 3.使用truf ...
- MySql动态生成SQL并执行
场景:由于一些表中设计了一些冗余字段,因此在主表修改了该冗余字段的值得时候,需要动态更新在其他表中冗余字段的值 BEGIN #Routine body goes here... /*SQL语句变量*/ ...
- 【UML】状态图介绍
1.Statechart Diagram 即状态图,主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列.引起状态转移的事件(Event).因状态转移而伴随的动作(Action) ...
- 通过SharpZipLib来压缩解压文件
在项目开发中,一些比较常用的功能就是压缩解压文件了,其实类似的方法有许多 ,现将通过第三方类库SharpZipLib来压缩解压文件的方法介绍如下,主要目的是方便以后自己阅读,当然可以帮到有需要的朋友更 ...
- javaScript的流程控制语句学习笔记
JavaScript提供了5种流程控制语句,if条件判断语句,switch语句,for循环语句,while循环语句,do-while循环语句. 1.条件判读语句 对变量或表达式进行判定,并根据判定结果 ...
- [剑指Offer] 10.矩形覆盖
题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? [思路]可归纳得出结论: f(n) = f(n-1) + f ...