任何人都可以帮助我在linux中使用此代码
public static void main(String[] args) throws Exception,{
String s ="find . -exec ls -al {} \\;";
Process exec = Runtime
.getRuntime()
.exec(s);
exec.waitFor();
System.out.println(s);
if (exec.getErrorStream().available() != 0) {
BufferedInputStream bf = new BufferedInputStream(
exec.getErrorStream());
DataInputStream din = new DataInputStream(bf);
System.out.println(din.readLine());
}
System.out.println(exec.exitValue());
}
我得到以下输出。
find . -exec ls -al {} \;
find: missing argument to `-exec'
1
答案 0 :(得分:1)
尝试使用:
String[] params = {"find", ".", "-exec", "ls", "-al", "{}", ";"};
而不是你的普通String命令。
小心但是:输出很重(我用/ dev /。测试过),而waitFor方法可能会导致你的I / O缓冲区崩溃。
答案 1 :(得分:0)
反斜杠太多
find . -exec ls -al {} ';'