但是,这里还有一点需要注意——那就是shell(DOS)中的特殊符号。
因为用Java作为后台程序的系统,多运行于Unix/Linux,以下的介绍将基于如何shell来展开讨论。
find / -name "*.xml" -type f | xargs java 相应程序
- CommandExec exec = new CommandExec();
- Process process = exec.exec(new String(){"find", "/", "-name", "/"*.xml/"", "-type", "f", "|", "xargs", "java", "相应程序"});
- CommandExec exec = new CommandExec();
- Process process = exec.exec(new String(){"shell", "-c", "/"find / -name '*.xml' -type f | xargs java 相应程序/""});
- /**
- *
- * 对shell字串进行escape
- *
- * @param s 对象字串
- * @return 返回escape之后的shell字串
- */
- public static String escapeShellSpecialCharacters(String s) {
- StringBuilder sb = new StringBuilder(s.length() + 128);
- sb.append('/'');
- for (int i = 0; s != null && i < s.length(); i++) {
- char c = s.charAt(i);
- if (c == '/'') {
- sb.append('//');
- }
- sb.append(c);
- }
- sb.append('/'');
- return sb.toString();
- }
- CommandExec exec = new CommandExec();
- Process process = exec.exec(new String(){"shell", "-c", "/"find / -name '*.xml' -type f | xargs java 相应程序 > /dev/null/""});
-浅析Java执行外部命令的几个要点(1)
-浅析Java执行外部命令的几个要点(2)
-浅析Java执行外部命令的几个要点(3)
-浅析Java执行外部命令的几个要点(4)
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
转贴请注明出处:http://blog.csdn.net/froole