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

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

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

    大鳥的學(xué)習(xí)樂園
    路漫漫其修遠(yuǎn)兮,吾將上下而求索
    posts - 26,comments - 27,trackbacks - 0

    Java流操作

     
    對(duì)于我們常用的GBK中,英文是占用1個(gè)字節(jié),中文是2個(gè)
    對(duì)于UTF-8,英文是1個(gè),中文是3個(gè)
    對(duì)于Unicode,英文中文都是2個(gè)

    Java的流操作分為字節(jié)流和字符流兩種。

    1、 字節(jié)流

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

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

    InputStreamOutputStream都是抽象類。

    InputStream6個(gè)低級(jí)輸入流:

    低級(jí)流

    流的用途

    ByteArrayInputStream

    從內(nèi)存數(shù)組中讀取數(shù)據(jù)字節(jié)

    FileInputStream

    從本地文件系統(tǒng)中讀取數(shù)據(jù)字節(jié)

    PipedInputStream

    從線程管道中讀取數(shù)據(jù)字節(jié)

    StringBufferInputStream

    從字符串中讀取數(shù)據(jù)字節(jié)

    SequenceInputStream

    從兩個(gè)或多個(gè)低級(jí)流中讀取數(shù)據(jù)字節(jié),當(dāng)?shù)竭_(dá)流的末尾時(shí)從一個(gè)流轉(zhuǎn)到另一個(gè)流

    System.in

    從用戶控制臺(tái)讀取數(shù)據(jù)字節(jié)

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

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

    FilterInputStream的常用的子類如下:

    過濾器輸入流

    流的用途

    BufferedInputStream

    緩沖區(qū)對(duì)數(shù)據(jù)的訪問,以提高效率

    DataInputStream

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

    LineNumberInputStream

    在翻譯行結(jié)束符的基礎(chǔ)上,維護(hù)一個(gè)計(jì)數(shù)器,該計(jì)數(shù)器表明正在讀取的是哪一行。

    PushbackInputStream

    允許把數(shù)據(jù)字節(jié)向后推到流的首部

    OutputStream(略)

    OutputStream的結(jié)構(gòu)基本和InputStream是一樣的。

    2、 字符流

    注:是在jdk1.1里面引進(jìn)的,上面字節(jié)流是在jdk1.0引進(jìn)的。當(dāng)用于處理文本數(shù)據(jù)時(shí),選擇字符流比字節(jié)流更好。但對(duì)只出路基本數(shù)據(jù)類型的開發(fā)者,可以繼續(xù)使用字節(jié)流。

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

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

           同樣ReaderWriter也是抽象類。

    Reader的常用的子類如下:

    低級(jí)讀取器

    流的用途

    CharArrayReader

    從字符數(shù)組中讀取數(shù)據(jù)

    InputStreamReader

     

     

    FileReader(InputStreamReader的子類)

     

    從本地文件系統(tǒng)中讀取字符序列

    StringReader

    從字符串中讀取字符序列

    PipedReader

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

    InputStreamReader重點(diǎn)講解:

    InputStreamReader是從輸入流中讀取數(shù)據(jù),連接輸入流于讀取器。如:

    new InputStreamReader(System.in)

           構(gòu)造方法:

    InputStreamReader(InputStream)

    用缺省的字符編碼方式,創(chuàng)建一個(gè) InputStreamReader。

    InputStreamReader(InputStream, String)

    用已命名的字符編碼方式,創(chuàng)建一個(gè) InputStreamReader。

           常用的過濾器讀取器:

    過濾器讀取器

     

    流的用途

    BufferedReader

    緩沖數(shù)據(jù)的訪問,以提高效率

     LineNumberReaderBufferedReader的子類)

    維護(hù)一個(gè)計(jì)數(shù)器,該計(jì)數(shù)器表明正在讀取的是哪一行。

    FilterReader(抽象類)

    提供一個(gè)類創(chuàng)建過濾器時(shí)可以擴(kuò)展這個(gè)類

    PushbackReaderFilterReader的子類)

    允許把文本數(shù)據(jù)推回到讀取器的流中

    這些過濾器讀取器都可以傳入一個(gè)Reader作為構(gòu)造方法的參數(shù)。

    Writer(略)

    Writer的結(jié)構(gòu)基本和Reader是一樣的。

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

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

    client.getInputStream()是字節(jié)流;

    InputStreamReader把字節(jié)流轉(zhuǎn)換成字符流;

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

     

    posted on 2009-06-02 13:14 大鳥 閱讀(321) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA
    主站蜘蛛池模板: 国产亚洲综合一区二区三区| 亚洲啪啪AV无码片| 亚洲国产成人久久77| 老司机午夜在线视频免费观| 大学生a级毛片免费观看| 国产aa免费视频| 国产精品免费一级在线观看| 亚洲国产成a人v在线| 国内精品免费麻豆网站91麻豆 | 亚洲高清免费视频| 天堂亚洲免费视频| 伊人婷婷综合缴情亚洲五月| 99久久婷婷免费国产综合精品| 久久久亚洲精品蜜桃臀| 成人免费区一区二区三区| 日产亚洲一区二区三区| 4虎永免费最新永久免费地址| 国产成人亚洲精品| 国产乱子伦精品免费女| 好猛好深好爽好硬免费视频| 国产成人亚洲综合色影视| 一区二区三区观看免费中文视频在线播放 | 国产免费69成人精品视频| 亚洲欧洲国产综合AV无码久久| 免费观看男人免费桶女人视频| 国产成人亚洲综合a∨| 国产成人亚洲综合| 日韩内射激情视频在线播放免费| 亚洲国产精品网站久久| 成人免费视频国产| 99在线视频免费观看| 亚洲精品免费在线| 国产成人免费片在线观看| 成全视频在线观看免费| 亚洲另类小说图片| 免费国产真实迷j在线观看| 久9久9精品免费观看| 亚洲高清乱码午夜电影网| 国产亚洲av片在线观看播放| 污视频在线免费观看| 国产福利免费在线观看|