Package java.io

Examples of java.io.UTFDataFormatException


        case 12 :
        case 13 :
          // 110x xxxx   10xx xxxx
          count += 2;
          if (count > utflen)
            throw new UTFDataFormatException();
          char2= in.readUnsignedByte();
          if ((char2 & 0xC0) != 0x80)
            throw new UTFDataFormatException();
          str[strlen++]= (char) (((c & 0x1F) << 6) | (char2 & 0x3F));
          break;
        case 14 :
          // 1110 xxxx  10xx xxxx  10xx xxxx
          count += 3;
          if (count > utflen)
            throw new UTFDataFormatException();
          char2= in.readUnsignedByte();
          char3= in.readUnsignedByte();
          if (((char2 & 0xC0) != 0x80) || ((char3 & 0xC0) != 0x80))
            throw new UTFDataFormatException();
          str[strlen++]= (char) (((c & 0x0F) << 12) | ((char2 & 0x3F) << 6) | ((char3 & 0x3F) << 0));
          break;
        default :
          // 10xx xxxx,  1111 xxxx
          throw new UTFDataFormatException();
      }
    }
    if (strlen < utflen) {
      System.arraycopy(str, 0, str= new char[strlen], 0, strlen);
    }
View Full Code Here


      } else {
        utflen += 2;
      }
    }
    if (utflen > 65535)
      throw new UTFDataFormatException();
    out.write((utflen >>> 8) & 0xFF);
    out.write((utflen >>> 0) & 0xFF);
    if (strlen == utflen) {
      for (int i= 0; i < strlen; i++)
        out.write(str[i]);
View Full Code Here

        case 12 :
        case 13 :
          // 110x xxxx   10xx xxxx
          count += 2;
          if (count > utflen)
            throw new UTFDataFormatException();
          char2= in.readUnsignedByte();
          if ((char2 & 0xC0) != 0x80)
            throw new UTFDataFormatException();
          str[strlen++]= (char) (((c & 0x1F) << 6) | (char2 & 0x3F));
          break;
        case 14 :
          // 1110 xxxx  10xx xxxx  10xx xxxx
          count += 3;
          if (count > utflen)
            throw new UTFDataFormatException();
          char2= in.readUnsignedByte();
          char3= in.readUnsignedByte();
          if (((char2 & 0xC0) != 0x80) || ((char3 & 0xC0) != 0x80))
            throw new UTFDataFormatException();
          str[strlen++]= (char) (((c & 0x0F) << 12) | ((char2 & 0x3F) << 6) | ((char3 & 0x3F) << 0));
          break;
        default :
          // 10xx xxxx,  1111 xxxx
          throw new UTFDataFormatException();
      }
    }
    if (strlen < utflen) {
      System.arraycopy(str, 0, str= new char[strlen], 0, strlen);
    }
View Full Code Here

      } else {
        utflen += 2;
      }
    }
    if (utflen > 65535)
      throw new UTFDataFormatException();
    out.write((utflen >>> 8) & 0xFF);
    out.write((utflen >>> 0) & 0xFF);
    if (strlen == utflen) {
      for (int i= 0; i < strlen; i++)
        out.write(str[i]);
View Full Code Here

                case 12:
                case 13:
                    /* 110x xxxx 10xx xxxx */
                    count += 2;
                    if (count > utflen) {
                        throw new UTFDataFormatException();
                    }
                    char2 = bytearr[count - 1];
                    if ((char2 & 0xC0) != 0x80) {
                        throw new UTFDataFormatException();
                    }
                    str.append((char)(((c & 0x1F) << 6) | (char2 & 0x3F)));
                    break;
                case 14:
                    /* 1110 xxxx 10xx xxxx 10xx xxxx */
                    count += 3;
                    if (count > utflen) {
                        throw new UTFDataFormatException();
                    }
                    char2 = bytearr[count - 2]; // TODO diff: Sun code
                    char3 = bytearr[count - 1]; // TODO diff: Sun code
                    if (((char2 & 0xC0) != 0x80) || ((char3 & 0xC0) != 0x80)) {
                        throw new UTFDataFormatException();
                    }
                    str.append((char)(((c & 0x0F) << 12) | ((char2 & 0x3F) << 6) | ((char3 & 0x3F) << 0)));
                    break;
                default:
                    /* 10xx xxxx, 1111 xxxx */
                    throw new UTFDataFormatException();
                }
            }
            // The number of chars produced may be less than utflen
            return new String(str);
        } else {
View Full Code Here

            else if ((c & 0x60) == 0x40) // we know the top bit is set here
            {
                // two byte character
                count += 2;
                if (utflen != 0 && count > utflen)
                    throw new UTFDataFormatException();      
                char2 = in.readUnsignedByte();
                if ((char2 & 0xC0) != 0x80)
                    throw new UTFDataFormatException();      
                actualChar = (char)(((c & 0x1F) << 6) | (char2 & 0x3F));
            }
            else if ((c & 0x70) == 0x60) // we know the top bit is set here
            {
                // three byte character
                count += 3;
                if (utflen != 0 && count > utflen)
                    throw new UTFDataFormatException();      
                char2 = in.readUnsignedByte();
                char3 = in.readUnsignedByte();
                if ((c == 0xE0) && (char2 == 0) && (char3 == 0)
                    && (utflen == 0))
                {
                    // we reached the end of a long string,
                    // that was terminated with
                    // (11100000, 00000000, 00000000)
                    break readingLoop;
                }

                if (((char2 & 0xC0) != 0x80) || ((char3 & 0xC0) != 0x80))
                    throw new UTFDataFormatException();      
               
               
                actualChar = (char)(((c & 0x0F) << 12) |
                                           ((char2 & 0x3F) << 6) |
                                           ((char3 & 0x3F) << 0));
            }
            else {
                throw new UTFDataFormatException(
                        "Invalid code point: " + Integer.toHexString(c));
            }

            str[strlen++] = actualChar;
        }
View Full Code Here

      case 12:
      case 13:
        /* 110x xxxx   10xx xxxx*/
        count += 2;
        if (count > utflen) {
          throw new UTFDataFormatException(
              "malformed input: partial character at end");
        }
        char2 = (int) bytearr[count - 1];
        if ((char2 & 0xC0) != 0x80) {
          throw new UTFDataFormatException(
              "malformed input around byte " + count);
        }
        chararr[chararrCount++] = (char) (((c & 0x1F) << 6) |
            (char2 & 0x3F));
        break;
      case 14:
        /* 1110 xxxx  10xx xxxx  10xx xxxx */
        count += 3;
        if (count > utflen) {
          throw new UTFDataFormatException(
              "malformed input: partial character at end");
        }
        char2 = (int) bytearr[count - 2];
        char3 = (int) bytearr[count - 1];
        if (((char2 & 0xC0) != 0x80) || ((char3 & 0xC0) != 0x80)) {
          throw new UTFDataFormatException(
              "malformed input around byte " + (count - 1));
        }
        chararr[chararrCount++] = (char) (((c & 0x0F) << 12) |
            ((char2 & 0x3F) << 6) | ((char3 & 0x3F) << 0));
        break;
      default:
        /* 10xx xxxx,  1111 xxxx */
        throw new UTFDataFormatException(
            "malformed input around byte " + count);
      }
    }
    // The number of chars produced may be less than utflen
    return new String(chararr, 0, chararrCount);
View Full Code Here

    /** Throws an exception for expected byte. */
    private void expectedByte(int position, int count)
        throws UTFDataFormatException {

        throw new UTFDataFormatException(
                Localizer.getMessage("jsp.error.xml.expectedByte",
             Integer.toString(position),
             Integer.toString(count)));

    } // expectedByte(int,int,int)
View Full Code Here

    /** Throws an exception for invalid byte. */
    private void invalidByte(int position, int count, int c)
        throws UTFDataFormatException {

        throw new UTFDataFormatException(
                Localizer.getMessage("jsp.error.xml.invalidByte",
             Integer.toString(position),
             Integer.toString(count)));
    } // invalidByte(int,int,int,int)
View Full Code Here

    } // invalidByte(int,int,int,int)

    /** Throws an exception for invalid surrogate bits. */
    private void invalidSurrogate(int uuuuu) throws UTFDataFormatException {
       
        throw new UTFDataFormatException(
                Localizer.getMessage("jsp.error.xml.invalidHighSurrogate",
             Integer.toHexString(uuuuu)));
    } // invalidSurrogate(int)
View Full Code Here

TOP

Related Classes of java.io.UTFDataFormatException

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.