【JAVA】筆記(17)--- IO流概述
IO分類:
1.以記憶體為參照物:
輸入流:硬碟--->記憶體,叫做輸入(Input),又稱作讀(read);
輸出流:記憶體--->硬碟,叫做輸出(Output),又稱作寫(write);
2.按照讀取資料的方式:
位元組流:一次讀取一個位元組(byte);位元組流可以讀取任意格式的檔案;一個漢字是兩個位元組,兩次讀完一個漢字 ;
字元流:一次讀取一個字元;字元流只能讀取普通文字檔案(txt);
注意:
java 中,只要類名以 “ Stream” 結尾的都是位元組流,以 “ Reader / Writer ” 結尾的都是字元流;
空格也算位元組或字元,空格的ASCII碼值是 32 ;
IO流的四大家族(抽象類) :
java . IO . InputStream //位元組輸入流
java . IO . OutputStream //位元組輸出流
java . IO . Reader //字元輸入流
java . IO . Writer //字元輸出流
所有的IO流都 直接繼承 / 間接繼承 了上邊的個別抽象類;
所有的 IO流 都實現了 Closeable 介面 ---> 所有的流都是可關閉的(呼叫 close 方法)
所有的輸出流都實現了 Flushable 介面 ---> 所有的輸出流都是可重新整理的(呼叫 flush 方法)
注意:
在用完流以後一定要關閉,為了節省記憶體!
在關閉輸出流之氣一定要重新整理,為了防止丟失資料!
java . io 包下需要掌握的16個流:
//檔案專屬
java. io. FileInputStream
java. io. FileOutputstream
java. io. FileReader
java. io. FileWriter
//轉換流:(將位元組流轉換成字元流)
java. io. InputStreamReader
java. io. OutputstreamWriter
//緩衝流專屬:
java. io. BufferedReader
java. io .BufferedWriter
java. io. BufferedInputStream
java. io. BufferedOutputstream
//資料流專屬:
java. io . DataInputstream
java. io . DataOutputstream
//標準輸出流:
java. io. Printwriter
java. io. PrintStream
物件專屬流:
java.io.ObjectInputstream
java. io. Objectoutputstream
由於博主目前只是一隻猿寶寶,所以有些地方可能說的有些片面,若前輩們能夠指點一二就更好了 (~ ̄(OO) ̄)ブ