但是,這裏還有一點需要注意——那就是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