以前老分不清java中的兩個類,InputStream 和OutputStream。InputStream根據名字就知道它是輸入類,OutputStream是輸出類。而令我頭疼的是,既然 InputStream是輸入類,按理說應該有個寫入的方法吧,因為是“輸入”嗎!可它偏偏出來個read()方法。OutputStream也一樣,既然是輸出類,就應該有一個讀的方法吧,因為“輸出”嗎!可它偏偏出來個write()方法。兩個類與我理解的正好相反,真是郁悶。就這樣這個問題一直困擾了我好長時間,以至於用到輸入輸出時總得費一番周折。現在通過看Think In Java,好像一下子開竅了。
原來InputStream之所以叫輸入類,是因為它要把要需要讀取的內容轉化成輸入流,再從它那裡進行讀取,而OutputStream之所以叫輸出類,是因為它首先需要與寫入的目的地相關聯,然後通過它進行寫入。輸入是:把要讀取的內容輸入到輸入流,在從輸入流進行讀取,所以是read()。輸出是:把要輸出的東西通過輸出流輸出到目的地,所以是write()。