2013-03-11 19 views
5

如果我想打印一行是越來越印刷究竟怎麼行「控制檯」是System.out.print使用()

這是Java編程語言

控制檯使用System.out.print(),其中以及使用了多少個進程來打印此行,以及我們如何將其與使用FileWriterBufferedWriter將同一行寫入文件進行比較。

+0

我不太明白你的問題。 「我們如何比較它」是什麼意思? – 2013-03-11 09:27:58

+1

'System.out'是'PrintWriter'類型的靜態最終字段。所以你實際上使用了一個'PrintWriter',它和其他作者完全一樣。它只是預先打印到流程標準輸出。 – 2013-03-11 09:29:18

+0

這應該有助於http://javapapers.com/core-java/system-out-println/ – AurA 2013-03-11 09:30:42

回答

0

不同的Java實現可能有不同的方法來處理這個問題。如果您對如何完成工作感興趣,您可以查看他們的來源。

例如在HotSpot VM中,outjava.io.PrintStream參考,它在內部使用java.io.BufferedWriter來寫入標準輸出。

+0

@Lutz Horn ..我想問一下,如果我在控制檯上面打印10000行以上的內容,那麼寫這一行需要更多的時間使用FileWriter或BufferedWriter爲文件創建10000次。爲什麼它背後是什麼原因? – 2013-03-11 09:39:21

+4

@DevenPatil - 0)這不是你問的問題,1)自己測試一下,2)看看源代碼。 – 2013-03-11 09:41:47

1

檢查PrintStream.java文件以瞭解打印方法的過程。

Check here for detailed flow of process

+0

我也很好奇的原因,downvoter,請給你的理由 – 2013-03-11 09:33:00

+0

我不知道爲什麼這是downvoted。然而,提供一個鏈接到它是很好的,並且在這裏粘貼的部分代碼更加棒。對於一個非常好的答案,你也可以在代碼中添加解釋... – ppeterka 2013-03-11 09:38:38

+1

我不知道爲什麼會得到低估,但爲什麼upvoted當其他答案甚至評論給予更多的解釋和沒有upvotes。 – Rob 2013-03-11 09:40:57