1. 程式人生 > >java執行shell命令中有空格的處理方法

java執行shell命令中有空格的處理方法

java執行shell命令中有空格的處理

?Runtime.getRuntime().exec(cmdstring);如果此時cmdstring中的參數(例如cp文件時文件名)含有特殊符號空格,此時就會出現錯誤,因為源碼會按照一些特殊字符(" \t\n\r\f",註意到其中含有空格)去切分cmdstring變為數組,所以有空格會導致錯誤,這種情況可以用命令數組實現,就是把cmdstring裏的東西自己放到數組裏,就不用源碼去切分了就不會有問題,例:

abc af.zip為一個文件名

cmdstring=“cp abc af.zip ?dir”這樣是有問題的

string[]?cmdarray=new String[]("cp","abc af.zip","dir") it is ok


java執行shell命令中有空格的處理方法