Java NIO based DataInputStream and DataOutputStream