在Java IO操作時,總是搞不清楚 In 與 Out的相對性,其實,in與out就是相對於內存而言。收錄一點解釋:
我們所說的流,都是針對內存說的,比如為什麼打印到屏幕上就是System.out.println();而從屏幕等待用戶輸入的卻是System.in呢?因為對於內存來說,把字符串打印到屏幕上是從內存流向屏幕這個顯示器的,也就是輸出,而從屏幕等待用戶輸入呢?就是等待鍵盤將字符輸入到內存中。
所以,你根本就不用死記硬背,當你遇到IO的時候,就想兩件事,第一,我的內存是中心,第二看看流的方向(矢量)!
好吧,那麼往硬盤上寫文件是out還是in呢?別一看到“寫”文件你就說in,那是望文生義,你看,寫文件的流向,是 內存---------->硬盤 內存為中心,到硬盤,OK 用out 那麼就是FileOutputStream、BufferedOutputStream 等等
那讀文件呢?是 內存<---------------硬盤 那麼就是in了 , 看清楚數據的流向就OK!
那我訪問網絡,看網頁是什麼呢 網絡--------------->內存 是in 因為我們訪問頁面是要抓取該頁面得一個html文件,那我要是在網絡上輸入帳號密碼登陸呢? 是不是內存的東西要寫到該服務器上呢,所以當然是out了!