<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
    主站蜘蛛池模板: 鲁丝片一区二区三区免费| 免费观看亚洲人成网站| 四虎影视在线影院在线观看免费视频 | 亚洲三级视频在线| 国产成人免费高清激情明星| 91嫩草私人成人亚洲影院| 久爱免费观看在线网站| 亚洲第一成年男人的天堂| 久草免费手机视频| 亚洲成人高清在线观看| 亚洲成av人片在线观看无码不卡| 黄色网页在线免费观看| 亚洲国产一二三精品无码| 亚洲精品国产suv一区88| 在线免费观看一区二区三区| 国产成人亚洲综合无码精品| 四虎成人精品永久免费AV| 亚洲福利电影一区二区?| 亚洲一级片免费看| 久久精品九九亚洲精品天堂| 亚欧免费一级毛片| 亚洲国产美女精品久久久| 亚洲A丁香五香天堂网| 韩日电影在线播放免费版| 亚洲人成亚洲精品| 国产性生大片免费观看性 | 在人线av无码免费高潮喷水| 亚洲成AV人影片在线观看| 亚洲一区日韩高清中文字幕亚洲 | 三级片免费观看久久| 国内精品免费视频自在线| 久久精品亚洲日本波多野结衣| 久久久久久久亚洲精品| 久久精品无码专区免费青青| 亚洲一卡2卡3卡4卡5卡6卡| 亚洲无线一二三四区手机| 亚洲免费一级视频| 二级毛片免费观看全程| 亚洲美女视频一区二区三区| 又爽又黄无遮挡高清免费视频| 国产成人无码区免费内射一片色欲 |