一 IO的作用
IO的作用是讀寫字節。
二 IO的設計
1 IO分爲字節流和字符流,但是IO的操作基本單位自有字節,字符流的作用是簡化API的使用。其中字符轉字節的實現是查碼錶,如果是UTF-8編碼則是查UTF-8的碼錶。
2 IO分爲輸入流和輸出流
3 所以頂層的四個接口是:InputStream/OutputStream、Reader/Writer
三 IO的使用
1 IO使用包裝器模式,例如:FileInputStream fis = new FileInputStream(new File(""));
2 用緩衝流,BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(""));緩衝流的設計是,自有在buffer數組裝滿後纔會觸發一次flush
3 用完後關閉流。有個問題是:關閉外層還是外層。實驗的結果是無論關閉外層還是內層再進行讀寫的時候都會報錯,提示流已經關閉,但是自有內層的流,比如InputStream、Writer纔會調用資源的關閉,調用本地方法close0()、socket()的close()方法。