home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / parser.jar / com / sun / xml / parser / XmlReader$AsciiReader.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-02-23  |  1.2 KB  |  43 lines

  1. package com.sun.xml.parser;
  2.  
  3. import java.io.CharConversionException;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6.  
  7. final class XmlReader$AsciiReader extends XmlReader.BaseReader {
  8.    XmlReader$AsciiReader(InputStream var1) {
  9.       super(var1);
  10.    }
  11.  
  12.    public int read(char[] var1, int var2, int var3) throws IOException {
  13.       if (super.instream == null) {
  14.          return -1;
  15.       } else if (var2 + var3 <= var1.length && var2 >= 0) {
  16.          int var4;
  17.          for(var4 = 0; var4 < var3; ++var4) {
  18.             if (super.start >= super.finish) {
  19.                super.start = 0;
  20.                super.finish = super.instream.read(super.buffer, 0, super.buffer.length);
  21.                if (super.finish <= 0) {
  22.                   if (super.finish <= 0) {
  23.                      ((XmlReader.BaseReader)this).close();
  24.                   }
  25.                   break;
  26.                }
  27.             }
  28.  
  29.             byte var5 = super.buffer[super.start++];
  30.             if ((var5 & 128) != 0) {
  31.                throw new CharConversionException("Illegal ASCII character, 0x" + Integer.toHexString(var5 & 255));
  32.             }
  33.  
  34.             var1[var2 + var4] = (char)var5;
  35.          }
  36.  
  37.          return var4 == 0 && super.finish <= 0 ? -1 : var4;
  38.       } else {
  39.          throw new ArrayIndexOutOfBoundsException();
  40.       }
  41.    }
  42. }
  43.