io技術

輸入流和輸出流是相對於內存來講的數組

將外設中的數據寫到內存中是輸入
將內存中的數據寫到外設中是輸出網絡


字符流的由來:
其實就是:字節流讀取文字字節數組後,不直接操做而是先查指定的編碼表,獲取對應的文字
在對這個文字進行操做,簡單來講就是字節流+編碼表socket

------------------
字節流的兩個頂級的父類
inputStream  outputStream編碼

字符流的兩個頂級的父類
1.Reader 2.Writer
這些子類的都以父類的名字爲後綴
前綴就是這些子類的功能對象

//需求:將一些文字存儲到硬盤一個文件中。
    操做文件的就能夠想到FileWriter
//需求:將一些文字從硬盤讀取到內存中 
    就想到了FileReader
    
    BufferWriter:新方法newline();
    BufferedReader:新方法readLine();
    
裝飾者模式:
當對一組對象的功能須要加強的時候就能夠用 ,與繼承有什麼區別呢,裝飾者模式能夠靈活的使用須要裝飾的東西,由於繼承體系太龐大了若是單純爲了
某個功能進行繼承,那麼體系就會愈來愈臃腫。
-----------------------------------------------繼承

字節流:接口

InputStream  
    內存

OutputStream開發

字節流:
FileInputStream 
FileOutputStream
BufferedInputStream
BufferedOutputStream
字符流:
Writer Reader
FileReader
FileWriter
BufferedReader
BufferedWriter
--------------------------------------------------
轉換流
inputStreamReader():
outputStreamWriter();input

字節到字符的流的橋樑  解碼
字符到字節流的橋樑 編碼

流的操做規律:
由於流的對象太多了,開發的過程當中不知道用哪一個對象合適

想知道用哪一個對象,只須要讀懂4個明確

1.明確源和目的:         源 :inputStream Reader         目的:OutputStream Writer 2.明確數據是不是純文本:         源:是純文本  Reader             不是:InputStream         目的:是純文本:Writer             不是:OutputStream 3.明確具體的設備:         源設備:             硬盤:file             鍵盤:System.in             內存:Array             網絡:socket         目的設備:             硬盤:File             控制檯:System.out             內存:Array             網絡:Socket              4.是否須要其餘額外功能:         緩衝:             Buffered         轉換流:             InputStreamReader             OutputStreamWriter                                                     SequenceInputStream:     特色:     1,將多個字節讀取流和併成一個讀取流,將多個源合併成一個源,操做起來方便。     2,須要的枚舉接口能夠經過Collections.enumeration(collection);      properties     是HashTable的一個子類,是存一些配置文件之類的是鍵值對     properties.load(in)吧文件的內容讀取出來放入源中     properties.store(write)是源中的數據寫入pro中

相關文章
相關標籤/搜索