public final int readShort() throws IOException {
		int ch1 = readByte();
		int ch2 = readByte();

		if(ch1 < 0)
			ch1 = BYTE_MAX + ch1;

		if(ch2 < 0)
			ch2 = BYTE_MAX + ch2;

		if ((ch1 | ch2) < 0)
			throw new EOFException();
		return (ch1 << 8) + (ch2);
	}