Java的每日記 -IO流

一.IO流的概念
在程序中所有的數據都是以流的方式進行傳輸或保存的,程序需要數據的時候要使用輸入流讀取數據,而當程序需要將一些數據保存起來的時候,就要使用輸出流完成;
二.常用IO流結構

IO流
│—————字節流
│  	 ├-InputStream (字節輸入流)
│	 │      ├-FileInputStream
│	 │      └-BufferedInputStream
│   	 └-OutputStream (字節輸出流)
│		  ├-FileInputStream
│	     	  └-BufferedOutputStream
│ 	 
└—————字符流
	 ├-Reader(字符輸入流)
	 │    ├-BufferedReader
	 │    └-InPutStreamReader
  	 └-Writer (字符輸出流)
  	      ├-BufferedWriter
  	      └-InPutStreamWriter

三.字節流與字符流區別
字節流與字符流的區別就是讀寫的時候一個是按字節讀寫,一個是按字符。

字符流的底層就是字節流。而字符流主要是讀取文本文件內容的,可以一個字符一個字符的讀取,也可以一行一行的讀取文本文件內容。而字節流讀取單位爲byte.byte作爲計算機存儲最基本單位,可以用字節流來讀取很多其他格式的文件,比如圖片視頻等等。

四.字節流
1.字節輸入流 (InputStream )
1)FileInputStream: 文件字節輸入流:一切文件在系統中都是以字節的形式保存的,無論你是文檔文件、視頻文件、音頻文件…,需要讀取這些文件都可以用FileInputStream去讀取其保存在存儲介質(磁盤等)上的字節序列

1.創建FileInputStream對象,並指定文件
2.讀
3.關閉資源

2)BufferedInputStream: 字節緩衝輸入流:在讀取數據量大的文件時,讀取的速度會很慢,很影響我們程序的效率,這時候在Java中提供了一套緩衝流,提高讀取文件的效率。

1.創建BufferedInputStream對象,傳入一個FileInputStream對象,並指定文件
2.讀
3.關閉資源

五.字符流
1.字符輸入流 (Reader)
1)InPutStreamReader:字節轉字符流:這個類是從字節流到字符流的橋接器:它使用指定的字符集讀取字節並將它們解碼爲字符。

1.創建InPutStreamReader對象,傳入一個FileInputStream對象,並指定文件
2.讀
3.關閉資源

2)BufferedReader:字符緩衝流:從字符輸入流中讀取文本,緩衝各個字符,從而實現字符、數組和行的高效讀取。 可以指定緩衝區的大小,或者課使用默認的大小。

1.創建BufferedReader對象,傳入一個InPutStreamReader對象,並指定文件
2.讀
3.關閉資源
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章