Runtime.getRuntime().exec的问题?

mrbean007 2003-05-21 03:32:29
我想在JSP中运行DOS的命令,就使用了Runtime.getRuntime().exec来执行。

请问,如果要在同一个Runtime.getRuntime().exec中连续执行多个命令,譬如dir,copy,del等命令,该怎么写啊?我只会写一个单独的命令。

谢谢!!
...全文
382 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
角落的青苔 2003-05-22
  • 打赏
  • 举报
回复
>>如果这样写可以吗???

<<你自己试一下不就知道可不可以了啊?
mrbean007 2003-05-21
  • 打赏
  • 举报
回复
如果这样写可以吗???

String cmd[]=new String[4];
cmd[0]="cmd /c cd..";
cmd[1]="cmd /c cd..";
cmd[2]="cmd /c cd d:\\tc3\\bin";
cmd[3]="cmd /c tcc s0102.c";
Runtime.getRuntime().exec(cmd);
角落的青苔 2003-05-21
  • 打赏
  • 举报
回复
如果你并不关心运行程序的返回情况的话,我觉得用批处理就很好了
角落的青苔 2003-05-21
  • 打赏
  • 举报
回复
这是等程序运行完毕后,返回该程序的返回值。
package rpc.system;

import java.io.*;
import java.util.*;

/*输出控制台信息的线程*/
public class CheckStream extends Thread
{ BufferedReader bufferedReader;
String lineRead = "";
/**
* Constructor needs an InputStream to form an anonymous
* InputStreamReader which is used to create a BufferedReader
* for reading the stream.
*/
CheckStream(InputStream is)
{ this.bufferedReader = new BufferedReader(new InputStreamReader(is)); }

public void start()
{ try { while ((lineRead = bufferedReader.readLine()) != null); }
catch(Exception ioe) { System.err.println("err!run:"+ioe.getMessage()); }
}
}

********************
package rpc.system;

import java.io.*;
import java.util.*;
import rpc.system.CheckStream;

public class RunExe
{ public RunExe() { }

//运行程序
public static int RunFile(String filename)
{ try
{ Runtime ce=Runtime.getRuntime();
Process p=ce.exec(filename);
CheckStream csin = new CheckStream(p.getInputStream());
CheckStream cserr = new CheckStream(p.getErrorStream());
csin.start();
cserr.start();
p.waitFor() ;
p.destroy();
int return_value =p.exitValue();
return return_value;
}
catch(Exception ex){ System.err.println("err!RunFile:"+filename); return -999; }
}

}
**************
你可以这样
int RunOK=99;
try
{ RunOk=RunFile("你的程序1");
}
catch(Exception e)
{ // 抛出的错误信息
}
if (RunOK==0) //程序1运行成功,它的返回值默认为0是成功
{ try
{ RunOk=RunFile("你的程序2");
}
catch(Exception e)
{ // 抛出的错误信息
}
}
if (RunOK==0) //程序2运行成功
………………
mrbean007 2003-05-21
  • 打赏
  • 举报
回复
难道除了这个方法外,没有其他更好的方法吗?

geyf 2003-05-21
  • 打赏
  • 举报
回复
那你也动态的生成一个临时批处理不就行了。
用完了删掉。
mrbean007 2003-05-21
  • 打赏
  • 举报
回复
你是指bat文件?

但是我的语句要动态地生成啊。
角落的青苔 2003-05-21
  • 打赏
  • 举报
回复
可以调用批处理啊 ^_^

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧