<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大鳥的學習樂園
    路漫漫其修遠兮,吾將上下而求索
    posts - 26,comments - 27,trackbacks - 0

    Java流操作

     
    對于我們常用的GBK中,英文是占用1個字節,中文是2個
    對于UTF-8,英文是1個,中文是3個
    對于Unicode,英文中文都是2個

    Java的流操作分為字節流和字符流兩種。

    1、 字節流

    所有的讀操作都繼承自一個公共超類java.io.InputStream類。

    所有的寫操作都繼承自一個公共超類java.io.OutputStream類。

    InputStreamOutputStream都是抽象類。

    InputStream6個低級輸入流:

    低級流

    流的用途

    ByteArrayInputStream

    從內存數組中讀取數據字節

    FileInputStream

    從本地文件系統中讀取數據字節

    PipedInputStream

    從線程管道中讀取數據字節

    StringBufferInputStream

    從字符串中讀取數據字節

    SequenceInputStream

    從兩個或多個低級流中讀取數據字節,當到達流的末尾時從一個流轉到另一個流

    System.in

    從用戶控制臺讀取數據字節

    InputStream還有一個子類:過濾器流java.io.FilterInputStream。過濾器流即能把基本流包裹起來,提供更多方便的用法。

    FilterInputStream 類的構造方法為FilterInputStream(InputStream),在指定的輸入流之上,創建一個輸入流過濾器。

    FilterInputStream的常用的子類如下:

    過濾器輸入流

    流的用途

    BufferedInputStream

    緩沖區對數據的訪問,以提高效率

    DataInputStream

    從輸入流中讀取基本數據類型,如intfloatdouble或者甚至一行文本

    LineNumberInputStream

    在翻譯行結束符的基礎上,維護一個計數器,該計數器表明正在讀取的是哪一行。

    PushbackInputStream

    允許把數據字節向后推到流的首部

    OutputStream(略)

    OutputStream的結構基本和InputStream是一樣的。

    2、 字符流

    注:是在jdk1.1里面引進的,上面字節流是在jdk1.0引進的。當用于處理文本數據時,選擇字符流比字節流更好。但對只出路基本數據類型的開發者,可以繼續使用字節流。

    所有的讀操作都繼承自一個公共超類java.io.Reader類。

    所有的寫操作都繼承自一個公共超類java.io.Writer類。

           同樣ReaderWriter也是抽象類。

    Reader的常用的子類如下:

    低級讀取器

    流的用途

    CharArrayReader

    從字符數組中讀取數據

    InputStreamReader

     

     

    FileReader(InputStreamReader的子類)

     

    從本地文件系統中讀取字符序列

    StringReader

    從字符串中讀取字符序列

    PipedReader

    從線程管道中讀取字符序列

    InputStreamReader重點講解:

    InputStreamReader是從輸入流中讀取數據,連接輸入流于讀取器。如:

    new InputStreamReader(System.in)

           構造方法:

    InputStreamReader(InputStream)

    用缺省的字符編碼方式,創建一個 InputStreamReader。

    InputStreamReader(InputStream, String)

    用已命名的字符編碼方式,創建一個 InputStreamReader。

           常用的過濾器讀取器:

    過濾器讀取器

     

    流的用途

    BufferedReader

    緩沖數據的訪問,以提高效率

     LineNumberReaderBufferedReader的子類)

    維護一個計數器,該計數器表明正在讀取的是哪一行。

    FilterReader(抽象類)

    提供一個類創建過濾器時可以擴展這個類

    PushbackReaderFilterReader的子類)

    允許把文本數據推回到讀取器的流中

    這些過濾器讀取器都可以傳入一個Reader作為構造方法的參數。

    Writer(略)

    Writer的結構基本和Reader是一樣的。

    字節流是最基本的,字符流是為了處理字符而提出來的。

    new BufferedReader(new InputStreamReader(client.getInputStream()));解釋:

    client.getInputStream()是字節流;

    InputStreamReader把字節流轉換成字符流;

    BufferedReader緩沖字符流,使得能夠使用readline()等方法,直接讀取一行。

     

    posted on 2009-06-02 13:14 大鳥 閱讀(321) 評論(0)  編輯  收藏 所屬分類: JAVA
    主站蜘蛛池模板: 亚洲色大成网站WWW国产| 国产精品免费电影| 久久青草国产免费观看| 久艹视频在线免费观看| 国产午夜亚洲精品理论片不卡| 亚洲成AV人片在线观看无码| 在线观看午夜亚洲一区| 亚洲国产激情在线一区| 免费精品国自产拍在线播放| 免费看一区二区三区四区| 国产人成免费视频网站| 亚洲国产精品成人久久蜜臀 | 久久精品亚洲男人的天堂| 免费无码午夜福利片| 亚洲国产午夜福利在线播放| 久久精品亚洲中文字幕无码麻豆| 国产99在线|亚洲| 国产精品免费观看久久| 亚洲精品无码鲁网中文电影| 亚洲AV综合永久无码精品天堂| 青柠影视在线观看免费| 麻豆亚洲AV永久无码精品久久| 999久久久免费精品国产| 中文字幕无码亚洲欧洲日韩| 老汉精品免费AV在线播放| 亚洲黄片手机免费观看| 西西人体免费视频| 国产精品美女自在线观看免费| 一级毛片成人免费看a| 日本黄网站动漫视频免费| 亚洲日韩国产精品第一页一区| 老子影院午夜伦不卡亚洲| 最近最新MV在线观看免费高清| 西西人体44rt高清亚洲| www.xxxx.com日本免费| 国产精品免费小视频| 成人性生交大片免费看中文| 亚洲一级黄色大片| 三年片在线观看免费大全电影 | 亚洲成a人片在线观看中文动漫| 九九精品免费视频|