java执行Linux命令的方法
本文实例讲述了java执行Linux命令的方法。分享给大家供大家参考。具体实现方法如下:
复制代码 代码如下:public class StreamGobbler extends Thread {
InputStream is;
String type;
public StreamGobbler(InputStream is, String type) {
this.is = is;
this.type = type;
}
public void run() {
try {
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null) {
if (type.equals("Error")) {
System.out.println("Error :" + line);
} else {
System.out.println("Debug:" + line);
}
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
private void shell(String cmd)
{
String[] cmds = { "/bin/sh", "-c", cmd };
Process process;
try
{
process = Runtime.getRuntime().exec(cmds);
StreamGobbler errorGobbler = new StreamGobbler(process.getErrorStream(), "Error");
StreamGobbler outputGobbler = new StreamGobbler(process.getInputStream(), "Output");
errorGobbler.start();
outputGobbler.start();
try
{
process.waitFor();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
其中参数 cmd 为Linux命令。每次只能执行一条命令。
1.Java Runtime.exec()注意事项:
① 永远要在调用waitFor()方法之前读取数据流
② 永远要先从标准错误流中读取,然后再读取标准输出流
2.最好的执行系统命令的方法就是写个bat文件或是shell脚本。
希望本文所述对大家的Java程序设计有所帮助。
您可能感兴趣的文章:
- 纯Java通过SSH执行Linux命令的方法及代码
- Linux下执行的java命令重定向到文件中的方法
- java本地调用cmd,shell命令,远程调用Linux执行命令方法总结
- java通过ssh2远程连接计算机并执行linux命令的方法(转)
- java调用windows/Linux/Unix 命令行执行命令的方法--调用ImageMagick的合并图形的命令
- 纯Java通过SSH执行Linux命令的方法及代码
- java本地调用cmd,shell命令,远程调用Linux执行命令方法总结
- java 执行linux命令或shell脚本方法
- linux机器上执行ping命令的java方法
- linux机器上执行ping命令的java方法
- java 使用jsch 远程链接linux执行命令
- 手动执行java命令的四种方法总结(类,jar包的手动执行)
- sqlplus 执行linux系统命令方法
- 安装交叉编译工具,执行arm-linux-gcc –v命令出现提示找不到该文件或目录?解决方法
- linux简单方法实现让普通用户执行管理员命令
- Java学习 - 24种语言执行外部命令的方法
- linux下shell脚本执行方法及exec和source命令
- Java /Jsp 执行操作系统命令 windows/Linux
- Java /Jsp 执行操作系统命令 windows/Linux
- linux 下 java 执行 shell 命令