1,流的操作規律
io流中物件很多,解決問題(處理裝置上的資料時)到底該用哪個物件呢?
把io流進行了規律的總結(四個明確):
l 明確一:要操作的資料是資料來源還是資料目的。
源:inputstream reader
目的:outputstream writer
先根據需求明確要讀,還是要寫。
l 明確二:要操作的資料是位元組還是文字呢? 源:
位元組:inputstream
文字:reader
目的:位元組:outputstream
文字:writer
已經明確到了具體的體系上。
l 明確三:明確資料所在的具體裝置。
源裝置:
硬碟:檔案 file開頭。
記憶體:陣列,字串。
鍵盤:system.in;
網路:socket
目的裝置:
硬碟:檔案 file開頭。
記憶體:陣列,字串。
螢幕:system.out
網路:socket
完全可以明確具體要使用哪個流物件。
l 明確四:是否需要額外功能呢?
額外功能:
轉換嗎?轉換流。inputstreamreader outputstreamwriter
高效嗎?緩衝區物件。buffered***
inputstream
fileinputstream
bufferedinputstream
ouputstream
fileoutputstream
bufferedouputstream
writer
outputstreamwriter
filewriter
bufferedwriter
reader
inputstreamreader
filereader
bufferedreader
2,總結
l 位元組流
l 位元組輸入流 inputstream
l fileinputstream 操作檔案的位元組輸入流
l bufferedinputstream高效的位元組輸入流
l 位元組輸出流 outputstream
l fileoutputstream 操作檔案的位元組輸出流
l bufferedoutputstream 高效的位元組輸出流
l 字元流
l 字元輸入流 reader
l filereader 操作檔案的字元輸入流
l bufferedreader 高效的字元輸入流
l inputstreamreader 輸入操作的轉換流(把位元組流封裝成字元流)
l 字元輸出流 writer
l filewriter 操作檔案的字元輸出流
l bufferedwriter 高效的字元輸出流
l outputstreamwriter 輸出操作的轉換流(把位元組流封裝成字元流)
l 方法:
l 讀資料方法:
l read() 一次讀乙個位元組或字元的方法
l read(byte char) 一次讀乙個陣列資料的方法
l readline() 一次讀一行字串的方法(bufferedreader類特有方法)
l readobject() 從流中讀取物件(objectinputstream特有方法)
l 寫資料方法:
l write(int) 一次寫乙個位元組或字元到檔案中
l write(byte char) 一次寫乙個陣列資料到檔案中
l write(string) 一次寫乙個字串內容到檔案中
l writeobject(object ) 寫物件到流中(objectoutputstream類特有方法)
l newline() 寫乙個換行符號(bufferedwriter類特有方法)
l 向檔案中寫入資料的過程
1,建立輸出流物件
2,寫資料到檔案
3,關閉輸出流
l 從檔案中讀資料的過程
1, 建立輸入流物件
2, 從檔案中讀資料
3, 關閉輸入流
l 檔案複製的過程
1, 建立輸入流(資料來源)
2, 建立輸出流(目的地)
3, 從輸入流中讀資料
4, 通過輸出流,把資料寫入目的地
5, 關閉流
java基礎之io流
1.四大抽象基類 位元組流 inputstream outputstream 字元流 writer reader 位元組輸出流寫檔案用其子類fileoutputstream類 構造 fileoutputstream file file 傳遞file物件包裝檔案 string name 傳遞字串型別檔...
java基礎之IO流
io流概念 輸入流 把能夠讀取乙個位元組序列的物件稱為輸入流。輸出流 把能夠寫乙個位元組序列的物件稱為輸出流。通俗理解 對於初學者,可能常常不清楚何時該用輸入流,何時該用輸出流。本人將這兩個流記為 讀入寫出 那麼我就清楚輸入流就有read 讀 方法,輸出流就有write 寫 方法。然後,再思考 讀入...
java基礎(九) IO流
1.io流的意義 處理裝置之間的資料傳輸 硬碟 記憶體 讀 input 記憶體 硬碟 寫 output 2.file類常用方法 新建檔案 file file new file d aaa 1.txt file file new file d system.getproperty file.separ...