java - 使用 ProcessBuilder 调 window cmd指令太长导致找不到

 

pb.command不可使用一个长字符串指令command,需要把每个指令参数分开,放入集合中
Process process = null;
       
            ProcessBuilder pb = new ProcessBuilder();
            //指令太长会导致无法找到文件,被视为一个完整的指令,应该每个空格都是为一个指令
            List<String> ls = new ArrayList<>(Arrays.asList(command.split(" ")));
            pb.command(ls);
            //processBuilder支持将inputStream与ErrorStream合并为一个Stream,即所有的输出信息都合并到inputStream中,这样做可以减少一个线程
            pb.redirectErrorStream(true);
            process = pb.start();

 

posted @ 2023-04-19 18:59  岑惜  阅读(353)  评论(0)    收藏  举报