LittleEndianDataOutputStream extends FilterOutputStream implements DataOutput { @Override public void writeFloat(float v) throws IOException { writeInt(Float.floatToIntBits(v)); } LittleEndianDataOutputStream(OutputStream out); @Override void write(byte[] b, int off, int len); @Override void writeBoolean(boolean v); @Override void writeByte(int v); @Override void writeShort(int v); @Override void writeChar(int v); @Override void writeInt(int v); @Override void writeLong(long v); @Override void writeFloat(float v); @Override void writeDouble(double v); @Override void writeBytes(String s); @Override void writeChars(String s); @Override void writeUTF(String str); @Override void close();  }
@Test public void testWriteFloat() throws IOException { final float value = 256f; final ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); final LittleEndianDataOutputStream littleEndianOut = new LittleEndianDataOutputStream(byteOut); littleEndianOut.writeFloat(value); littleEndianOut.close(); final byte[] expected = ByteBuffer.allocate(4).order(ByteOrder.LITTLE_ENDIAN).putFloat(value).array(); assertTrue(Arrays.equals(expected, byteOut.toByteArray())); }