我正在通過Java IO。剛剛開始使用標準輸入和輸出流。請看下面給出的簡單程序,我想知道System.err是如何工作的
public static void main(String args[]){
Scanner scanner = new Scanner(System.in);
System.out.println("Give us your input");
String str = scanner.nextLine();
System.out.println("Standard Output: " + str);
System.err.println("Standard Error Output: " +str);
}
輸出會隨着運行這兩三次而變化。請找情侶低於輸出,
運行的第一次:
給我們您輸入 我的名字 標準錯誤輸出:我的名字 標準輸出:我的名字
過程完成,退出碼0
運行第二次與同一代碼: 給我們您輸入 我的名字 標準輸出:我的名字 標準E RROR輸出:我的名字
過程完成,退出代碼爲0
我想知道爲什麼用System.err的輸出變化
我已經跑了很多次,沒有發生交錯。不知道爲什麼不。 – mdewit
@mdewit:我不認爲你會真正看到交錯,除非你打開輸出流清除或手動刷新奇怪的地方(也許甚至不是)。但你*可能*。在一天結束時,控制檯將如何/何時顯示這些數據。 – Thilo
如果您同時從多個線程寫入單個流(如'System.out'),您將看到交錯。 – Thilo