【发布时间】:2013-08-24 01:54:55
【问题描述】:
使用此代码:
private String executeCommand(String cmd ) {
Process p;
try {
p = Runtime.getRuntime().exec(cmd);
BufferedReader br = new BufferedReader(
new InputStreamReader(p.getInputStream()));
while ((commandlineOutput = br.readLine()) != null){
System.out.println("line:" + commandlineOutput);
}
p.waitFor();
System.out.println (p.exitValue());
p.destroy();
} catch (Exception e) {}
}
return commandlineOutput;
}
我遇到以下问题:所有产生一些输出的命令都正常执行,但是一些不产生输出的命令没有执行 例如: rm *.jpg 不工作,但 mkdir 是,我看不出区别
我是个新手,在 Google 上搜索了一段时间,但从未提及过这个特殊问题 请帮帮我 谢谢
【问题讨论】:
-
通过运行
rm *.jpg,您期望得到什么样的输出?您是否检查过该命令是否正在运行? -
rm *.jpg 从命令行使用时不会对用户产生任何反馈,它只会删除当前目录中的所有 jpg 文件。将 java 程序生成的命令复制粘贴到命令行时,它可以正常工作 rm *.jpg 的退出输出为 1,mkdir somedir 的退出代码为 0
标签: java command-line execution