java执行linux命令,但是打印不了命令结果

  // 执行linux命令方法
    private boolean excuteLiuxOrde3r(String command) {
        logger.info("执行命令:" + command);
        boolean returnFlag = false;
        StringBuilder sb = new StringBuilder();
        Process process= null;
        try {
            process = Runtime.getRuntime().exec(command);
            returnFlag = true;
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String lo;
            while ((lo = bufferedReader.readLine()) != null) {
                sb.append(lo);
                sb.append("\n");
            }
            logger.info("执行命令结果:" + sb.toString());
            process.waitFor();
            // 等待n秒后destory进程
        }catch (Exception e){
            e.printStackTrace();
        }
        process.destroy();
        return returnFlag;
    }

我正常输入传入命令:wc -l [filename]

结果应该打印:
执行命令结果:35653232 filename
但是经过测试并不能!请问下给大神这是为嘛?

参考我的代码 改一下

public static void exec(String sh){
        InputStream in = null;  
        try {  
            Process pro = Runtime.getRuntime().exec(new String[]{
                "sh",
                "-c",
                sh
            });  
            in = pro.getInputStream();  
            BufferedReader read = new BufferedReader(new InputStreamReader(in));  
            String result = null;  
            System.out.println("sh---"+sh+"----start");
            while((result = read.readLine()) != null){
                System.out.println("INFO:"+result);  
            }

            read = new BufferedReader(new InputStreamReader(pro.getErrorStream()));;
            result = null;
            while((result = read.readLine()) != null){
                System.out.println("ERROR:"+result);  
            }
            System.out.println("ip---"+sh+"----end");
            in.close();
            pro.getErrorStream().close();

        } catch (Exception e) {  
            //e.printStackTrace();  
        }  
    }

应该是 process = Runtime.getRuntime().exec(command); process.waitFor(); 这两行挨着 这个是有返回值的 把返回值打印出来 如果是0 应该执行是正常