<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天天做在线观看| 成人免费视频一区| 在线观看黄片免费入口不卡| 亚洲国产超清无码专区| 亚洲福利在线播放| 亚洲大片免费观看| 人妻18毛片a级毛片免费看| 亚洲第一页在线视频| 四虎精品亚洲一区二区三区| 99久久免费观看| 国产成人 亚洲欧洲| 精品亚洲成a人片在线观看| 免费观看午夜在线欧差毛片| 在线观看免费中文视频| 日本中文字幕免费看| 国产成人精品日本亚洲专区6| 国产亚洲精品自在线观看| 天天操夜夜操免费视频| 无码日韩精品一区二区三区免费 | 99在线视频免费观看视频| g0g0人体全免费高清大胆视频| jlzzjlzz亚洲jzjzjz| 国产亚洲人成无码网在线观看| 日韩成人在线免费视频| 最近中文字幕2019高清免费| selaoban在线视频免费精品| 亚洲欧美成人综合久久久| 亚洲午夜在线电影| 亚洲综合伊人久久综合| 日韩免费无砖专区2020狼| 最近中文字幕电影大全免费版| 香蕉免费在线视频| 精品亚洲成A人在线观看青青| 亚洲一区免费在线观看| 亚洲高清视频在线观看| 亚洲精品高清无码视频| 免费人成视网站在线观看不卡|