@Override public void writeLong(long v) throws IOException { work[0] = (byte) (0xffL & v); work[1] = (byte) (0xffL & (v >> 8)); work[2] = (byte) (0xffL & (v >> 16)); work[3] = (byte) (0xffL & (v >> 24)); work[4] = (byte) (0xffL & (v >> 32)); work[5] = (byte) (0xffL & (v >> 40)); work[6] = (byte) (0xffL & (v >> 48)); work[7] = (byte) (0xffL & (v >> 56)); write(work, 0, 8); }
@Override public void writeDouble(double v) throws IOException { writeLong(Double.doubleToLongBits(v)); }
@Override public void writeFloat(float v) throws IOException { writeInt(Float.floatToIntBits(v)); }
@Override public void writeChars(String s) throws IOException { for (int i = 0, n = s.length(); i < n; i++) { writeChar(s.charAt(i)); } }
@Override public void writeBoolean(boolean v) throws IOException { work[0] = (byte) (v ? 1 : 0); write(work, 0, 1); }
@Override public void writeShort(int v) throws IOException { work[0] = (byte) (0xff & v); work[1] = (byte) (0xff & (v >> 8)); write(work, 0, 2); }
@Override public void writeByte(int v) throws IOException { work[0] = (byte) (v & 0xff); write(work, 0, 1); }
@Override public void writeChar(int v) throws IOException { work[0] = (byte) (0xff & v); work[1] = (byte) (0xff & (v >> 8)); write(work, 0, 2); }
@Override public void writeInt(int v) throws IOException { work[0] = (byte) (0xffL & v); work[1] = (byte) (0xffL & (v >> 8)); work[2] = (byte) (0xffL & (v >> 16)); work[3] = (byte) (0xffL & (v >> 24)); write(work, 0, 8); }