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

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

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

    ivaneeo's blog

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

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      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參數(shù)構(gòu)造函數(shù)
           *
           * @param reader - InputStream使用的Reader
           */
          public ReaderInputStream(Reader reader) {
            this.reader = reader;
            byteArrayOut = new ByteArrayOutputStream();
            writer = new OutputStreamWriter(byteArrayOut);
            chars = new char[1024];
          }

          /**
           * 帶Reader和字符編碼格式參數(shù)的構(gòu)造函數(shù)
           *
           * @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 閱讀(2313) 評(píng)論(0)  編輯  收藏 所屬分類: java魔力
    主站蜘蛛池模板: 亚洲成人免费电影| 亚洲视频免费在线播放| 国产免费无码一区二区| 97青青草原国产免费观看| 18国产精品白浆在线观看免费 | 国产成人免费一区二区三区| 免费乱理伦在线播放| 国产亚洲婷婷香蕉久久精品| 亚洲美女免费视频| 亚洲精华国产精华精华液好用| 日韩a毛片免费观看| 久久久免费精品re6| 女人18一级毛片免费观看| 精品亚洲视频在线观看| 777亚洲精品乱码久久久久久 | 成人毛片18女人毛片免费 | 在线播放免费播放av片| 亚洲日韩涩涩成人午夜私人影院| 婷婷久久久亚洲欧洲日产国码AV| 亚洲久悠悠色悠在线播放| jizz免费在线影视观看网站| 精品成在人线AV无码免费看| 国产真实伦在线视频免费观看| 亚洲精品国产精品乱码不99| 精品国产成人亚洲午夜福利| 国产黄在线播放免费观看| 国产福利视精品永久免费| 亚洲精品和日本精品| 亚洲午夜国产精品| 国产99久久久久久免费看| 国产桃色在线成免费视频| 亚洲一区二区三区影院| 国产午夜亚洲精品国产| 国产成人无码区免费网站| 性做久久久久免费观看| 亚洲国产精品国自产电影| 国产91成人精品亚洲精品| 69av免费视频| 亚洲乱码国产一区三区| 国产亚洲欧美在线观看| 毛片免费全部播放无码|