Runtime.getRuntime().exec("ls |wc -l");
这个执行不了,只会执行管道符前面的部分,怎么才能解决呢?

解决方案 »

  1.   


    String []cmd={"ls", "|wc", "-l"};
    Runtime.getRuntime().exec(cmd);没有Linux环境,没测过,楼主试下行不行吧!
      

  2.   

    linux环境下,java调用系统命令,大家都知道使用Runtime,可是却发现带"|"的命令会不认Process p = Runtime.getRuntime().exec(new String[] {
    "/bin/sh","-c", "ls -l | grep x "
    }); 
      

  3.   

    你要统计目录中有多少文件或子目录有多少,用 File 类就可以。运行 Runtime#exec 虽然很方便,但是由于涉及跨进程调用,因此是非常低效的。