IO操作是一個相對的過程,一般,我們站在程序角度來思考(程序的內存):
1)程序需要數據:把數據流入到程序中--->輸入.
2)程序需要保存數據,把數據傳遞給別人--->輸出.
IO流的分類
站在不同的角度,IO的分類方式是不一樣的:
1):根據流向劃分: 輸入流和輸出流.
2):根據數據的單位劃分: 字節流和字符流.
3):根據功能的劃分:節點流和包裝流.
四大基流:
1)字節輸出流OutPutStream
2)字節輸入流InPutStream
3)字符輸出流Writer
4)字符輸入流Reader
四大基流都是抽象類: 其他流都是繼承於這四大基流的.
我們不能創建四大基流的對象,只能創建其子類對象.
注意:無論是什麼流,都有close方法,用來關閉資源.
如果操作文件,就得開通一個流對象關聯我們的磁盤文件,如果不關閉資源,那麼磁盤的文件一直被程序所引用着,不能刪除,也不能更改.
操作IO流的模板:
1):創建源或者目標對象.
拿文件流舉例:
輸入操作: 把文件中的數據流向到程序中,此時文件是源,程序是目標.
輸出操作: 把程序中的數據流向到文件中,此時文件是目標,程序是源.
2):創建IO流對象.
輸入操作: 創建輸入流對象.
輸出操作: 創建輸出流對象.
3):具體的IO操作.
輸入操作: 輸入流對象的read方法.
輸出操作: 輸出流對象的write方法.
4):關閉資源(勿忘). 一旦資源關閉之後,就不能使用流對象了,否則報錯.
輸入操作: 輸入流對象.close();
輸出操作: 輸出流對象.close().
--------------------------------------------------------------
操作IO流的六字箴言:
讀進來,寫出去.
讀進來: 進來強調了是輸入,讀說明是read方法.
寫出去: 出去強調了是輸出,寫說明是write方法.