publicclassProcessBuilderDemo{/** * 测试processBuilder执行cp命令 * cp /tmp/monkey/a.log /home/monkey/ * 源路径 args[1]: /tmp/monkey/a.log * 目标路径 args[2]: /home/monkey/ * 方法名 args[3] * @param args */publicstaticvoidmain(String[] args){ String src= args[0]; String tag= args[1]; String method= args.length==3? args[2]: null;if(method!= null&& method.equals("string")){cmdIsString(src, tag);}else{cmdIsListOrArray(src, tag);}}/** * 执行命令,命令用拼接成一个字符串形式(会包含空格) * @param src 源路径 * @param tag 目标路径 */privatestaticvoidcmdIsString(String src, String tag){ String cmd="cp"; cmd= cmd+" -rf"+" "+ src+" "+ tag; System.out.println("command is: "+ cmd); ProcessBuilder builder=newProcessBuilder(cmd);try{ Process process= builder.start(); process.waitFor();}catch(Exception e){ e.printStackTrace(); System.out.println(e.toString());}}/** * 执行命令,命令各个部分拼接成一个数组或者ArrayList集合 * 该方法采用数组实现 * @param src 源路径 * @param tag 目标路径 */privatestaticvoidcmdIsListOrArray(String src, String tag){ String cmd="cp";// 命令的各个部分组成一个字符串数组,用该数组创建Pr