java編程思想——java IO系統,java編程思想io系統

來源:互聯網
上載者:User

java編程思想——java IO系統,java編程思想io系統

一、什麼是IO

io在本質上是單個位元組的移動,而流可以說是位元組移動的載體和方式,它不停的向目標處移動資料,我們要做的就是根據流的方向從流中讀取資料或者向流中寫入資料。


二、java中支援IO操作的庫類

1、按照資料類型分為兩類:

(1)位元組類型:InputStream和OutputStream

(2)字元類型:Writer和Reader

2、按照資料的流動方向,主要分為兩類:

(1)基於磁碟操作的io介面:File

  (2)基於網路的io介面:socket

三、位元組流、字元流的io介面說明

  位元組流包括輸入資料流InputStream和輸出資料流OutputStream。字元流包括輸入資料流Reader,

    InputStream相關類圖如下,只列舉了一級子類:

   

    InputStream提供了一些read方法供子類繼承,用來讀取位元組。

    OutputStream相關類圖如下:

   

    OutputStream提供了一些write方法供子類繼承,用來寫入位元組。

    Reader相關類圖如下:

   

    Reader提供了一些read方法供子類繼承,用來讀取字元。

    Writer相關類圖如下:

   

    Writer提供了一些write方法供子類繼承,用來寫入字元。

    每個字元流子類幾乎都會有一個相對應的位元組流子類,兩者功能一樣,差別只是在於操作的是位元組還是字元。例如CharArrayReader和 ByteArrayInputStream,兩者都是在記憶體中建立數組緩衝區作為輸入資料流,不同的只是前者數組用來存放字元,每次從數組中讀取一個字元;後者則是針對位元組。

ByteArrayInputStream、CharArrayReader 為多線程的通訊提供緩衝區操作功能。常用於讀取網路中的定長資料包
ByteArrayOutputStream、CharArrayWriter 為多線程的通訊提供緩衝區操作功能。常用於接收足夠長度的資料後進行一次性寫入
FileInputStream、FileReader 把檔案寫入記憶體作為輸入資料流,實現對檔案的讀取操作
FileOutputStream、FileWriter 把記憶體中的資料作為輸出資料流寫入檔案,實現對檔案的寫操作
StringReader 讀取String的內容作為輸入資料流
StringWriter 將資料寫入一個String
SequenceInputStream 將多個輸入資料流中的資料合併為一個資料流
PipedInputStream、PipedReader、PipedOutputStream、PipedWriter 管道流,主要用於2個線程之間傳遞資料
ObjectInputStream 讀取對象資料作為輸入資料流,對象中的 transient 和 static 類型的成員變數不會被讀取或寫入
ObjectOutputStream 將資料寫入對象
FilterInputStream、FilterOutputStream、FilterReader、FilterWriter 過濾流通常源和目標是其他的輸入輸出資料流,大家可以看到有眾多的子類,各有用途,就不一一介紹了

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.