1
我需要重新格式化Java應用程序的命令行日誌記錄,而不必觸摸原始應用程序。我有所有的代碼,所以我已經導入到我的項目中。我想要做的是找出一種方法來創建一個新的Process()或Thread(),並將該線程中的STDOUT和STDIN重定向到BufferedReader和BufferedWriter。用重定向輸入創建一個類
我想做一個包裝,將啓動一個新的進程(MyApp.Main(args))。我只是不知道該怎麼做,因爲它在罐子裏。 ProcessBuilder想要啓動一個文件。有什麼辦法可以將System.In和System.Out從線程中分離出來嗎?
我認爲找出一種方法來啓動一個線程並從中獲取System.Out/System.In是最清潔的。我該怎麼做?
這裏有代碼缺失 - 你可以填寫剩下的代碼嗎? – CJxD 2013-12-11 12:51:45
@CJxD你是什麼意思?就是這個。 CASUAL.Log.out是System.out的引用,我的程序通常用它來通信,而CASUAL.CASUALInteractionl.in是對System.in的引用。這劫持了這些引用並將它們重定向到另一個應用程序。通過替換它們,可以對System.in和System.out執行相同的操作。 – AdamOutler 2013-12-17 13:48:23