1
我想將元數據附加到Unix文件系統中的文件。 attr命令讓我這樣做,但 命令語法要求附加變量的路徑爲雙重qoutes。從Java程序使用attr linux命令
attr -s outpipe0 "/mnt/FUse/FileB" FileA
如何使用System.Runtime.exec在Java中運行上面的命令。當我嘗試使用字符串數組參數運行時,我必須給出上述「/ mnt/FUse/FileB」,它在java程序中導致問題,因爲它將雙引號視爲java中字符串的結尾。我基本上想發送一個字符串參數,它本身有雙引號。
有人可以提出解決辦法。
感謝
微不足道的解決方法:編寫一個Un * x外殼腳本,負責正確調用* attr *命令並從Java調用該腳本(而不是直接調用* attr *)。我還強烈建議將任何shell腳本輸出重定向到*/dev/null *或臨時文件,而不是嘗試解析Java中的所有輸出。我還建議從外部shell進程中分叉,然後* kill -9 *由Java創建的shell進程。不要讓Java **有任何**機會來與您的shell進程「發揮智能」。哦,總是從派生的Java線程中調用外部進程。 – SyntaxT3rr0r 2011-06-05 22:31:24
也從來沒有*使用任何其他的* Runtime.exec *方法調用採取* String [] *。永遠不要希望使用常規的String方法調用,並讓Java正確地分割你的字符串。在執行外部過程之前自行分解您的論點。 – SyntaxT3rr0r 2011-06-05 22:35:56