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

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

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

    ivaneeo's blog

    自由的力量,自由的生活。

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    public class ReaderInputStream extends InputStream {
        protected Reader reader;
        protected ByteArrayOutputStream byteArrayOut;
        protected Writer writer;
        protected char[] chars;
        protected byte[] buffer;
        protected int index, length;

          /**
           * 帶Reader參數構造函數
           *
           * @param reader - InputStream使用的Reader
           */
          public ReaderInputStream(Reader reader) {
            this.reader = reader;
            byteArrayOut = new ByteArrayOutputStream();
            writer = new OutputStreamWriter(byteArrayOut);
            chars = new char[1024];
          }

          /**
           * 帶Reader和字符編碼格式參數的構造函數
           *
           * @param reader   - InputStream使用的Reader
           * @param encoding - InputStream使用的字符編碼格式.
           * @throws 如果字符編碼格式不支持,則拋UnsupportedEncodingException異常
           */
          public ReaderInputStream(Reader reader, String encoding)
              throws UnsupportedEncodingException {
            this.reader = reader;
            byteArrayOut = new ByteArrayOutputStream();
            writer = new OutputStreamWriter(byteArrayOut, encoding);
            chars = new char[1024];
          }

          /**
           * @see java.io.InputStream#read()
           */
          public int read() throws IOException {
            if (index >= length)
              fillBuffer();
            if (index >= length)
              return -1;
            return 0xff & buffer[index++];
          }

          protected void fillBuffer() throws IOException {
            if (length < 0)
              return;
            int numChars = reader.read(chars);
            if (numChars < 0) {
              length = -1;
            } else {
              byteArrayOut.reset();
              writer.write(chars, 0, numChars);
              writer.flush();
              buffer = byteArrayOut.toByteArray();
              length = buffer.length;
              index = 0;
            }
          }

          /**
           * @see java.io.InputStream#read(byte[], int, int)
           */
          public int read(byte[] data, int off, int len) throws IOException {
            if (index >= length)
              fillBuffer();
            if (index >= length)
              return -1;
            int amount = Math.min(len, length - index);
            System.arraycopy(buffer, index, data, off, amount);
            index += amount;
            return amount;
          }

          /**
           * @see java.io.InputStream#available()
           */
          public int available() throws IOException {
            return (index < length) ? length - index :
                ((length >= 0) && reader.ready()) ? 1 : 0;
          }

          /**
           * @see java.io.InputStream#close()
           */
          public void close() throws IOException {
            reader.close();
          }

    }
    posted on 2005-08-11 09:27 ivaneeo 閱讀(2318) 評論(0)  編輯  收藏 所屬分類: java魔力
    主站蜘蛛池模板: 亚洲精品在线免费观看视频| 久久久久久国产精品免费免费男同| 99久久精品国产免费| 亚洲人成网77777色在线播放| 亚洲中文字幕乱码一区| 69av免费视频| 亚洲狠狠成人综合网| 妞干网手机免费视频| 亚洲国产精品成人AV在线| 91av免费在线视频| 中文字幕无码精品亚洲资源网| 亚洲福利一区二区| 无人在线直播免费观看| 亚洲欧美国产国产一区二区三区| 日韩黄色免费观看| 四虎永久在线精品免费一区二区| 久久亚洲国产精品五月天婷| 中国极品美軳免费观看| 亚洲精品视频在线观看视频| 青草草色A免费观看在线| 亚洲av日韩av永久在线观看| 久久青草91免费观看| 亚洲国产超清无码专区| 午夜免费不卡毛片完整版| 思思久久99热免费精品6| 亚洲成AV人片在线观看| 国产卡二卡三卡四卡免费网址 | 特级做A爰片毛片免费69| 中文字幕在线日亚洲9| 亚洲国产精品人人做人人爱| 嫩草在线视频www免费看| 亚洲国产综合精品| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲天堂电影在线观看| 免费又黄又爽的视频| 日本卡1卡2卡三卡免费| 亚洲日韩AV一区二区三区中文| 国产精品亚洲综合专区片高清久久久| 日韩午夜理论免费TV影院| 亚洲av无码成人精品区一本二本 | 99精品视频免费|