Сколько не пытался не получается перевести одну функцию из java в VB.NET
public final String readUTF() throws IOException {
return readUTF(((DataInput) (this)));
}
public static final String readUTF(DataInput in) throws IOException {
int utflen = in.readUnsignedShort();
StringBuffer str = new StringBuffer(utflen);
byte bytearr[] = new byte[utflen];
int count = 0;
in.readFully(bytearr, 0, utflen);
while(count < utflen) {
int c = bytearr[count] & 0xff;
switch(c >> 4) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
count++;
str.append((char)c);
break;
case 12:
case 13:
if((count += 2) > utflen)
throw new UTFDataFormatException();
int char2 = bytearr[count - 1];
if((char2 & 0xc0) != 128)
throw new UTFDataFormatException();
str.append((char)((c & 0x1f) << 6 | char2 & 0x3f));
break;
case 14:
if((count += 3) > utflen)
throw new UTFDataFormatException();
int char2 = bytearr[count - 2];
int char3 = bytearr[count - 1];
if((char2 & 0xc0) != 128 || (char3 & 0xc0) != 128)
throw new UTFDataFormatException();
str.append((char)((c & 0xf) << 12 | (char2 & 0x3f) << 6 | (char3 & 0x3f) << 0));
break;
case 8:
case 9:
case 10:
case 11:
default:
throw new UTFDataFormatException();
}
}
return new String(str);
}
Может тут найдутся знающие люди и помогут?
P.S. Класс DataInput я уже перевел на VB.NET