裝飾器模式詳解地址 html
定義: 在沒必要改變原類文件和使用繼承的狀況下, 動態的擴展一個對象的功能. 經過建立一個包裝對象, 也就是裝飾來包裹真實的對象java
看了一些文檔, 裝飾器模式很是依賴構造器 與 重寫方法性能
裝飾器模式的特色: 不改變原來的類 , 不使用繼承 , 動態擴展htm
流這塊除了文件上傳下載使用過, 確實用的太少了這裏繼續複習下最簡單的文件上傳對象
- 文件目錄的建立
- 目錄的是否存在沒有就建立
- 不推薦: 年/月/日 通常沒什麼用戶權限的圖片之類的不過
- 推薦: 模塊/用戶/模塊/年/月/日
- 獲取臨時上傳的路徑
- 判斷文件類型, 建立文件 , 開流寫入硬盤關流
原文中在修飾到datainputstream是有個爲何不去直接修飾inputstream?blog
解答: 因爲使用的是fileinputstream. 其中的read方法中有個 fileReadEnd, 防止文件沒有關閉通道繼承
- datainputstream是一個容許數據輸入流從底層中讀取基本java數據類型, 與機器無關就是指統一的io無論系統是pc仍是mac之類的
- 其中的readutf方法我複習了一點位運算 & 二進制之間的運算 詳細的解析地址看這裏DataInputStream詳解
- pushbackinputstream爲另外一個流添加性能, pushback(退會)和 unread 取消讀取
- InputStreamReader 轉碼功能 reader的功能
- BufferedReader 讀取行readLine
- LineNumberReader 獲取行號
- PushbackReader reader版的取消讀取
steam圖片