【发布时间】:2014-09-10 06:00:02
【问题描述】:
我正在尝试通过 java 运行这个 perl 脚本。下面是我的脚本
public class Log {
public static void main(String[] args) throws IOException {
Process proc =null;
try
{
String[] commandAndArgs = {
"cmd","/c","C:\\Users\\myscipt.pl"
};
proc = Runtime.getRuntime().exec(commandAndArgs);
int returncode = proc.waitFor();
if(proc.exitValue() == 0)
{
System.out.println("Command Successful");
try
{
BufferedReader input = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line="";
System.out.println("Process Executed"+returncode);
while ((line = input.readLine()) != null) {
System.out.println(line);
}
}
catch (IOException e) {
e.printStackTrace();
}
}
else{
System.out.println("Process Executed"+returncode);
System.out.println("Command Failure");
}
}
catch(Exception t)
{
t.printStackTrace();
System.out.println("Exception: "+ t.toString());
}
finally
{
proc.destroy();
}
}
}
因此,当我执行此脚本时,它会完美运行。但是一旦我用下面的行替换脚本
"perl","C:\\Users\\myscipt.pl"
它会抛出返回代码 2 错误。那么,我哪里错了?
【问题讨论】: