設計模式之裝飾器模式io的小入門(十一)

裝飾器模式詳解地址 html


原文總結

定義: 在沒必要改變原類文件和使用繼承的狀況下, 動態的擴展一個對象的功能. 經過建立一個包裝對象, 也就是裝飾來包裹真實的對象java

uml

部分詳解提示

看了一些文檔, 裝飾器模式很是依賴構造器 與 重寫方法性能

裝飾器模式的特色: 不改變原來的類 , 不使用繼承 , 動態擴展htm


流這塊除了文件上傳下載使用過, 確實用的太少了這裏繼續複習下最簡單的文件上傳對象

  • 文件目錄的建立
    • 目錄的是否存在沒有就建立
    • 不推薦: 年/月/日 通常沒什麼用戶權限的圖片之類的不過
    • 推薦: 模塊/用戶/模塊/年/月/日
  • 獲取臨時上傳的路徑
  • 判斷文件類型, 建立文件 , 開流寫入硬盤關流

原文中在修飾到datainputstream是有個爲何不去直接修飾inputstream?blog

解答: 因爲使用的是fileinputstream. 其中的read方法中有個 fileReadEnd, 防止文件沒有關閉通道繼承

datainputstream與pushbackinputstream詳解

  • datainputstream是一個容許數據輸入流從底層中讀取基本java數據類型, 與機器無關就是指統一的io無論系統是pc仍是mac之類的
    • 其中的readutf方法我複習了一點位運算 & 二進制之間的運算 詳細的解析地址看這裏DataInputStream詳解
  • pushbackinputstream爲另外一個流添加性能, pushback(退會)和 unread 取消讀取

其餘的一些流

  • InputStreamReader 轉碼功能 reader的功能
  • BufferedReader 讀取行readLine
  • LineNumberReader 獲取行號
  • PushbackReader reader版的取消讀取

inputstreamUML

steam圖片

相關文章
相關標籤/搜索