(java) Writing in file little endian

Question!

I'm trying to write TIFF IFDs, and I'm looking for a simple way to do the following (this code obviously is wrong but it gets the idea across of what I want):

out.writeChar(12) (bytes 0-1)
out.writeChar(259) (bytes 2-3)
out.writeChar(3) (bytes 4-5)
out.writeInt(1) (bytes 6-9)
out.writeInt(1) (bytes 10-13)

Would write:

0c00 0301 0300 0100 0000 0100 0000

I know how to get the writing method to take up the correct number of bytes (writeInt, writeChar, etc) but I don't know how to get it to write in little endian. Anyone know?

By : sepiroth


Answers

Check out ByteBuffer, specifically the 'order' method. ByteBuffer is a blessing for those of us who need to interface with anything not Java.



ByteBuffer is apparently the better choice. You can also write some convenience functions like this,

public static void writeShortLE(DataOutputStream out, short value) {
  out.writeByte(value 
By : ZZ Coder


This video can help you solving your question :)
By: admin