2011-11-19 28 views
0

我覺得傻問這個,但我怎麼能讀取從控制檯不是輸入,但已被寫入到控制檯一個字符串?閱讀已經書面文字從控制檯

舉例來說,如果我打印一行來我怎麼能在事後閱讀控制檯?我知道這是非典型的。

+1

你不應該這樣做。如果需要,請在輸出之前保留一份副本。 – Brad

+0

同意。我正在測試一個程序。 –

+1

重定向標準輸出以轉到文件。 – Falmarri

回答

2

除了在某些特殊情況下,你不能像布拉德在評論中指出的那樣。作爲理由,考慮到當您向控制檯發送一些文本(通過標準輸出或標準錯誤)進行打印時,不能保證文本實際上將被打印。也許用戶已經將輸出流重定向到/dev/null,在這種情況下文本已經消失了。或者文字已經滾動出來了。

基本上不要指望以往任何時候都能夠訪問的東西,被送到控制檯輸出。如果您需要它,請在您的程序中保留一份副本。如果你試圖獲得另一個程序發送到控制檯的東西,則需要使用某種不同的排列方式,如共享內存,套接字或fifo管道。

0

更換兩個System.in和System.out的用自己流和 嘗試創建System.in和的System.out之間的管道;

我不確定,不管它是否有效;