使用Java中的Runtime.exec()执行Windows命令
来源:互联网 发布:港台电视直播软件 编辑:程序博客网 时间:2024/05/07 22:49
Runtime.getRuntime().exec()方法主要用于执行外部的程序或命令。Runtime.getRuntime().exec共有六个重载方法 :
其中public Process exec(String command)方法在单独的进程中执行指定的字符串命令。
关于返回结果类型:Process,它有几个方法:
1.destroy():杀掉子进程
2.exitValue():返回子进程的出口值,值 0 表示正常终止
3.getErrorStream():获取子进程的错误流
4.getInputStream():获取子进程的输入流
5.getOutputStream():获取子进程的输出流
6.waitFor():导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。如果已终止该子进程,此方法立即返回。如果没有终止该子进程,调用的线程将被阻塞,直到退出子进程,根据惯例,0 表示正常终止
使用时以一些需要注意的地方:
等待命令执行结束用waitFor(),其返回值就是命令的返回值。 如果出现程序执行被挂起,没有任何反应的情况,是由于没有读取命令子进程的正常输出流或错误输出流导致缓冲区被占满,进程被锁住。这个时候需要把输出流中的内容给读出来。最好的做法是使用两个线程,分别同时读取正常输出流和错误输出流。
Runtime.exec() 不等同于直接执行command line命令!Runtime.exec()很有局限性,对有些命令不能直接把command line里的内容当作String参数传给exec(). 比如重定向等命令。举个例子: javap -l xxx > output.txt 这时要用到exec的第二种重载,即input 参数为String[]: Process p = Runtime.getRuntime().exec(new String[]{“/bin/sh”,”-c”,”javap -l xxx > output.txt”});
- 使用Java中的Runtime.exec()执行Windows命令
- 使用Java中的Runtime.exec()执行Windows命令
- java使用Runtime.exec执行(本地)linux/Windows命令
- java使用Runtime.exec执行linux命令
- java使用Runtime.exec执行linux命令
- java使用Runtime.exec执行linux命令
- Java Runtime.exec 执行shell命令
- 使用java Runtime exec调用ping命令
- java 利用Runtime.getRuntime().exec()代码调用服务器执行命令
- Java Runtime.exec() 使用
- Java执行Runtime.getRuntime().exec()
- 用Runtime.getRuntime().exec(cmd)执行命令
- Java 使用Runtime.getRuntime.exec 和 ProcessBuilder 调用外部命令
- Java Runtime.exec()的使用
- Java Runtime.exec()的使用
- Java Runtime.exec()的使用
- Java Runtime.exec()的使用
- Java Runtime.exec()的使用
- 【游戏设计模式】之二 论撤消重做、回放系统的优雅实现:命令模式
- 第十五周实践项目--项目1 - 验证算法
- 插入排序
- jQuery学习——基础篇(选择器、属性与样式)
- libcurl 提示 error LNK2001: 无法解析的外部符号
- 使用Java中的Runtime.exec()执行Windows命令
- 【转自网友】一个最基本的UDP通信
- Android 轻封装OkHttp
- javascript懒加载
- 2016年末我想说点什么
- 认识微软的病毒防护解决方案
- C++11标准之后的移动构造函数和复制构造函数探究
- error C1853: “Debug\BigBuffer.pch”预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
- HDU 5978 To begin or not to begin (概率数学)