IO

Java中的流分爲兩種:java

     字節流:數據流中最小的數據單元是字節;數組

     字符流:數據流中最小的數據單元是字符,Java中的字符是Unicode編碼,一個字符佔用兩個字節。dom

FileInputStream.read(byte b[])編碼

FileOutputStream.write(byte b[])spa

 

程序從輸入流(Input  Stream)讀取數據源至buffer; 程序向輸出(Output  Stream)流寫入buffer數據.  採用數據流的目的就是使得輸出輸入獨立於設備,並不關心數據的目的和來源是何種設備。3d

java.IO層次體系結構

裝飾模式code

  1. InputStream(二進制格式操做):抽象類,基於字節的輸入操做,是全部輸入流的父類。定義了全部輸入流都具備的共同特徵。
  2. OutputStream(二進制格式操做):抽象類。基於字節的輸出操做。是全部輸出流的父類。定義了全部輸出流都具備的共同特徵。
  3.  Reader(文件格式操做):抽象類,基於字符的輸入操做。
  4.  Writer(文件格式操做):抽象類,基於字符的輸出操做。
  5. RandomAccessFile(隨機文件操做):它的功能豐富,能夠從文件的任意位置進行存取(輸入輸出)操做.

ByteArrayOutputStream: 能夠捕獲內存緩衝區的數據,轉換成字節數組。對象

ByteArrayInputStream: 能夠將字節數組轉化爲輸入流。blog

ObjectInputStream:   從輸入流中讀取對象;能夠把InputStream包裝到ObjectInputStream中,而後就能夠從中讀取對象了;(序列化對象能夠重寫:public final Object readObject()  throws IOException, ClassNotFoundException{}內存

ObjectOutputStream:把對象寫入到輸出流中;能夠把OutputStream包裝到ObjectOutputStream中,而後就能夠把對象寫入到該輸出流中了 ( 序列化對象能夠重寫: public final void writeObject(Object obj) throws IOException {})

相關文章
相關標籤/搜索