JAVA调用外部程序错误
2017-11-05 13:32
423 查看
CMD
连续调用多次
连续多次调用cmd执行外部程序时,不知道什么原因导致阻塞。public ArrayList<String> executeCmdArr(ArrayList<String> cmdCommandArr) { ArrayList<String> cmdLog = new ArrayList<String>(); String lineData; try { for (String parameter : cmdCommandArr) { System.out.println("CallCMD -- executeCmdArr:\t" + parameter); process = Runtime.getRuntime().exec(parameter); //A process.waitFor(); BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream(),"GBK")); while ((lineData = reader.readLine()) != null){ cmdLog.add(lineData); } } return cmdLog; } catch (Exception e) { e.printStackTrace(); return null; } }
当使用下述命令多次使用“XCOPY”命令进行复制时,在A这里会阻塞,一直在等待:
cmdCommandArr = new ArrayList<String>(){{ add("cmd.exe /k xcopy E:\\Z\\2016-10-13\\*国内及全球*简报.xlsx E:\\X\\JB\\ /f /y"); add("cmd.exe /k xcopy E:\\Z\\2016-10-14\\*twsp*.txt E:\\X\\twsp\\ /f /y"); add("cmd.exe /k xcopy E:\\Z\\2016-10-14\\*国内及全球*简报.xlsx E:\\X\\JB\\ /f /y"); }};
但是当使用下述命令多次使用“XCOPY”命令进行复制时,就可以正常执行完全部复制操作:
cmdCommandArr = new ArrayList<String>(){{ add("xcopy E:\\Z\\2016-10-13\\*国内及全球*简报.xlsx E:\\X\\JB\\ /f /y"); add("xcopy E:\\Z\\2016-10-14\\*twsp*.txt E:\\X\\twsp\\ /f /y"); add("xcopy E:\\Z\\2016-10-14\\*国内及全球*简报.xlsx E:\\X\\JB\\ /f /y"); }};
查摆在于调用时,是否加入“cmd.exe”,至于造成这一问题的原因,目前还不清楚。
相关文章推荐
- ABAP--一个极好的调用外部java程序的Search Help Exit的实例(RFC好例子)
- Java调用外部程序的方法
- Java调用外部程序解决方案
- java调用外部程序挂起原因
- java调用外部程序 必杀 路径空格没有问题
- Java如何调用外部exe程序
- ABAP--一个极好的调用外部java程序的Search Help Exit的实例(RFC好例子)
- 使用Java调用外部程序
- Java调用外部程序命令
- [转]android 2.3.3底层错误导致js调用java程序崩溃
- java调用外部程序的方法
- 在程序中调用外部程序,用process返回命令执行结果以及抓取错误信息的方法
- java程序调用exe文件和调用自己打的jar包或其他外部jar包
- java实现外部程序调用
- 关于Asp.net调用外部程序的拒绝访问错误
- Java调用外部程序
- ABAP--一个极好的调用外部java程序的Search Help Exit的实例(RFC好例子)
- [java调用外部可执行程序] 2. java输入输出重定向
- ABAP--一个极好的调用外部java程序的Search Help Exit的实例(RFC好例子)
- Java调用外部程序