home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupportInternational / i18n.jar / sun / io / ByteToCharSingleByte.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  1.1 KB  |  46 lines

  1. package sun.io;
  2.  
  3. public abstract class ByteToCharSingleByte extends ByteToCharConverter {
  4.    protected String byteToCharTable;
  5.  
  6.    public int flush(char[] var1, int var2, int var3) {
  7.       super.byteOff = super.charOff = 0;
  8.       return 0;
  9.    }
  10.  
  11.    public int convert(byte[] var1, int var2, int var3, char[] var4, int var5, int var6) throws UnknownCharacterException, MalformedInputException, ConversionBufferFullException {
  12.       super.charOff = var5;
  13.  
  14.       for(super.byteOff = var2; super.byteOff < var3; ++super.byteOff) {
  15.          byte var8 = var1[super.byteOff];
  16.          char var7 = this.getUnicode(var8);
  17.          if (var7 == '∩┐╜') {
  18.             if (!super.subMode) {
  19.                super.badInputLength = 1;
  20.                throw new UnknownCharacterException();
  21.             }
  22.  
  23.             var7 = super.subChars[0];
  24.          }
  25.  
  26.          if (super.charOff >= var6) {
  27.             throw new ConversionBufferFullException();
  28.          }
  29.  
  30.          var4[super.charOff] = var7;
  31.          ++super.charOff;
  32.       }
  33.  
  34.       return super.charOff - var5;
  35.    }
  36.  
  37.    protected char getUnicode(int var1) {
  38.       int var2 = var1 + 128;
  39.       return var2 < this.byteToCharTable.length() && var2 >= 0 ? this.byteToCharTable.charAt(var2) : '∩┐╜';
  40.    }
  41.  
  42.    public void reset() {
  43.       super.byteOff = super.charOff = 0;
  44.    }
  45. }
  46.