天天看點

java學習之I/O流

——Java教育訓練、Android教育訓練、iOS教育訓練、.Net教育訓練、期待與您交流! ——-

  1. 字元流,專門處理字元資料,文本資料

    |– Writer 字元輸出流,從java程式寫一個檔案到目的地

    |– FileWriter

    |– 構造方法,傳遞字元串格式檔案名

    |– write(字元,字元串,數組)寫出的方法

    |– flush()重新整理流沖的資料,隻要用了重新整理,資料必走目的地

    |– close()關閉流資源,關閉之前重新整理它

    |– Reader 字元輸入流,從一個資料源讀取資料到java程式

    |– FileReader

    |– 構造方法,傳遞字元串格式檔案名

    |– read() 讀取單個字元,傳回int值

    |– read(字元數組) 傳回數組中有效字元個數

    |– 讀取到檔案的結尾傳回 -1

    |– close()關閉流資源

  2. 字元流的緩沖對象

    |– BufferedWriter 提高流的操作效率

    |– 構造方法,傳遞一個字元輸出流對象

    |– 自己的方法 newLine()寫一個換行,跨平台性

    |– BufferedReader

    |– 構造方法,傳遞一個字元輸入流對象

    |– 自己的方法 readLine()讀取文本一行,傳回字元串,沒有換行符号,檔案結尾傳回null

  3. 複制文本檔案案例 ,帶異常處理

    |– 第一個寫一個,效率最低,不要求掌握

    |– 第二個利用字元數作為緩沖,提供複制的效率,必須要會

    |– 第三個利用字元流的緩沖區對象複制檔案 ,必須要會,讀一行,寫一行

    |– 字元流隻能操作文本檔案,記事本能開的,不是亂碼的,不要通過字尾名判斷

    txt log ini java html htm shtml xml bat

    4. 裝飾設計模式

    |– 重點理論要知道,知道裝飾模式在IO體系的展現

為了進一步的深入了解I/O部分的裝飾設計模式,引入javaWEB的經典案例,資料源的書寫進行解釋。

六、編寫标準的資料庫連接配接池
    實作了javax.sql.DataSource的才是标準的資料庫連接配接池,按照字面意思,一般稱之為資料源。

    對于一個已知類的某個方法進行功能上的改變有以下三種方式:
    、定義子類,擴充父類的某個功能。(此處行不通)
    、利用包裝設計模式改寫原有的類的功能
        a、編寫一個類實作與被改寫類(com.mysql.jdbc.Connection)相同的接口
        b、定義一個引用,記住被改寫類的執行個體
        c、定義構造方法,傳入被改寫類的執行個體
        d、對于要改寫的方法,改寫即可
        e、對于不需要改寫的方法,調用原有的對象的對應方法

        *****包裝設計模式
        *****預設擴充卡設計模式

    、動态代理
        *****基于接口的動态代理
    java.lang.reflect.Proxy
    static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h) 

    作用:傳回代理類的執行個體
    參數:loader:類加載器,一般與被代理對象使用同一個
         interfaces:被代理對象所實作的接口
         h:怎麼代理
             Object invoke(Object proxy, Method method, Object[] args) :調用原有類的任何方法,都會經過此方法。

           

I/O流的體系繼承關系

  1. IO流是需要分類,分成兩大類,按照操作檔案類型

    位元組流 ,操作任意檔案

    字元流 ,操作文本檔案

  2. 按照流向分

    輸出流 ,将資料寫在檔案上

    輸入流 ,從檔案中讀取資料

  3. 字元輸出流的抽象基類

    java.io.Writer

  4. 字元輸入流的抽象基類

    java.io.Reader

  5. 位元組輸出流的抽象基類

    java.io.OutputStream

  6. 位元組輸入流的抽象基類

    java.io.InputStream

IO流概述

java學習之I/O流

Reader讀取檔案原理

java學習之I/O流

數組緩沖讀取檔案

java學習之I/O流

繼續閱讀