ByteBuffer _nbuffer = ByteBuffer.allocate(20);
_nbuffer.order(ByteOrder.BIG_ENDIAN); //注意这里
_nbuffer.putChar('A');
_nbuffer.putChar('B');
_nbuffer.putChar('C');
_nbuffer.putChar(' ');
_nbuffer.putChar('中');
_nbuffer.putChar('国');
_nbuffer.flip();
byte[] bb2 = _nbuffer.array();
for (int i = 0; i < bb2.length; i++) {
System.out.println("bb2[i]=" + Integer.toHexString(0xff & bb2[i]));
}
FileOutputStream st2 = new FileOutputStream(new File("/a2.temp"));
st2.write(bb2, 0, bb2.length);
st2.close();
这样得到的是ucs2的(在英文的XP下试验是ucs2的)。如果想写纯英文的、非unicode的,就
buff.put((byte)'A');
仅作记号以备用。