工作小驛

          Ninja!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            103 Posts :: 0 Stories :: 36 Comments :: 0 Trackbacks

          以字節為導向的stream
          ================================================================================
          1) input stream:

          1) ByteArrayInputStream:   把內存中的一個緩沖區作為InputStream使用
          2) StringBufferInputStream:把一個String對象作為InputStream
          3) FileInputStream:    把一個文件作為InputStream,實現對文件的讀取操作
          4) PipedInputStream:   實現了pipe的概念,主要在線程中使用
          5) SequenceInputStream:把多個InputStream合并為一個InputStream
          6) FilterInputStream

          2) Out stream

          1) ByteArrayOutputStream:把信息存入內存中的一個緩沖區中
          2) FileOutputStream:     把信息存入文件中
          3) PipedOutputStream:    實現了pipe的概念,主要在線程中使用
          4) SequenceOutputStream: 把多個OutStream合并為一個OutStream
          5) FilterOutputStream

           

          以Unicode字符為導向的stream
          ================================================================================
          表示以Unicode字符為單位從stream中讀取或往stream中寫入信息。
          1) Input Stream

          1) CharArrayReader: 與ByteArrayInputStream對應
          2) StringReader:    與StringBufferInputStream對應
          3) FileReader:      與FileInputStream對應
          4) PipedReader:     與PipedInputStream對應

          2) Out Stream

          1) CharArrayWrite:  與ByteArrayOutputStream對應
          2) StringWrite:     無與之對應的以字節為導向的stream
          3) FileWrite:       與FileOutputStream對應
          4) PipedWrite:      與PipedOutputStream對應

           

          差異
          ================================================================================
          InputStreamReader和OutputStreamReader:
          把一個以字節為導向的stream轉換成一個以字符為導向的stream。

           


          stream添加屬性
          ================================================================================
          通過FilterInputStream和FilterOutStream的子類,我們可以為stream添加屬性。

          實現“先把要寫入文件的數據先緩存到內存中,再把緩存中的數據寫入文件中”的功能時,
          上面的API就沒有一個能滿足我們的需求了。
          但是通過FilterInputStream和FilterOutStream的子類,為FileOutStream添加我們所需要的功能。

          2.2 FilterInputStream的各種類型
          2.2.1 用于封裝以字節為導向的InputStream

          1) DataInputStream:      從stream中讀取基本類型(int、char等)數據。
          2) BufferedInputStream:  使用緩沖區
          3) LineNumberInputStream:會記錄input stream內的行數,然后可以調用getLineNumber()
                                    和setLineNumber(int)
          4) PushbackInputStream:  很少用到,一般用于編譯器開發

          2.2.2 用于封裝以字符為導向的InputStream

          1) 沒有與DataInputStream對應的類。除非在要使用readLine()時改用BufferedReader,
             否則使用DataInputStream
          2) BufferedReader:與BufferedInputStream對應
          3) LineNumberReader:與LineNumberInputStream對應
          4) PushBackReader:與PushbackInputStream對應

          2.3 FilterOutStream的各種類型

          2.2.3 用于封裝以字節為導向的OutputStream
          1) DataIOutStream:   往stream中輸出基本類型(int、char等)數據。
          2) BufferedOutStream:使用緩沖區
          3) PrintStream:      產生格式化輸出

          2.2.4 用于封裝以字符為導向的OutputStream
          1) BufferedWrite:與對應
          2) PrintWrite:與對應
          3. RandomAccessFile
          1) 可通過RandomAccessFile對象完成對文件的讀寫操作
          2) 在產生一個對象時,可指明要打開的文件的性質:r,只讀;w,只寫;rw可讀寫
          3) 可以直接跳到文件中指定的位置

          posted on 2007-07-05 13:51 王君 閱讀(173) 評論(0)  編輯  收藏 所屬分類: J2SE
          主站蜘蛛池模板: 胶南市| 大竹县| 子洲县| 辽阳县| 惠安县| 满城县| 长垣县| 九台市| 成武县| 肥城市| 来凤县| 大方县| 年辖:市辖区| 南澳县| 安溪县| 萨迦县| 苍溪县| 滨海县| 汉寿县| 台湾省| 永泰县| 古浪县| 井研县| 城步| 长海县| 保靖县| 东乡族自治县| 水城县| 玛曲县| 武川县| 榆社县| 富锦市| 东台市| 白城市| 大港区| 古交市| 钦州市| 临澧县| 宁化县| 大荔县| 阳谷县|