2 回答

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個贊
我認(rèn)為這里的關(guān)鍵可能是 ProcessBuilder 的redirectError(File file)
實(shí)際上是redirectError (Redirect.to(file))
.
來自 Oracle 的 ProcessBuilder 類文檔:
這是一種方便的方法。調(diào)用redirectError(file) 形式的行為與調(diào)用redirectError (Redirect.to(file)) 完全相同。
我見過的大多數(shù)例子都是使用Redirect.appendTo(File file)
而不是Redirect.to(file)
. 文檔可能會解釋原因。
來自 Oracle 的 ProcessBuilder.Redirect 文檔:
public static ProcessBuilder.Redirect to(File file)
返回重定向以寫入指定文件。如果子進(jìn)程啟動時指定的文件存在,則其之前的內(nèi)容將被丟棄。
public static ProcessBuilder.Redirect appendTo(File file)
返回重定向以附加到指定文件。每個寫操作首先將位置推進(jìn)到文件末尾,然后寫入請求的數(shù)據(jù)。
我會嘗試更換
pb.redirectError(errorsFile)
和
pb.redirectError(Redirect.appendTo(errorsFile))
看看你是否能得到更多的線路。

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個贊
您是否調(diào)試并檢查了 fileContents 的內(nèi)容?
編輯:對不起,它應(yīng)該是一個評論,但還不能這樣做:(
添加回答
舉報