我想在我的命令提示符下:無法的「java」命令的輸出重定向到文本文件
的java> TEMP.TXT
TEMP.TXT是越來越與它沒有內容創建。 「Java」的命令輸出顯示在控制檯本身沒有得到重定向到TEMP.TXT
但是,如果我做到以下幾點:
DIR> TEMP.TXT
dir命令的輸出被重定向到臨時文件。
爲什麼「java」命令的輸出沒有被重定向到文本文件?
我想在我的命令提示符下:無法的「java」命令的輸出重定向到文本文件
的java> TEMP.TXT
TEMP.TXT是越來越與它沒有內容創建。 「Java」的命令輸出顯示在控制檯本身沒有得到重定向到TEMP.TXT
但是,如果我做到以下幾點:
DIR> TEMP.TXT
dir命令的輸出被重定向到臨時文件。
爲什麼「java」命令的輸出沒有被重定向到文本文件?
>
用於將standard output
(stdout)發送到給定的位置。但用java
命令打印的輸出正在輸入standard error
(stderr)輸出。
要重定向標準錯誤,你可以使用下面的語法
java > temp.txt 2>&1
2>
手段重定向標準錯誤,&1
意味着到標準輸出重定向這是temp.txt
。所以這個命令會將stdout重定向到temp.txt和stderr到stdout被重定向到的地方(temp.txt iteself)。
因爲當您運行不帶參數的java
時,輸出將重定向到stderr
而不是stdout
。所以,你應該做的:
java 2>temp.txt
2
告訴命令重定向stderr
到文件temp.txt
謝謝!這工作。但是你怎麼知道「java」命令將輸出重定向到stderr。 –
我不知道,但我做了一個測試重定向stdout和stderr到一個文件,並找出答案 – 2017-03-11 15:42:42
這應該是正確的答案 – Gajotres