import java.io.*;public class Test { public static void main(String[] args) { try { DataOutputStream dos = null; dos = new DataOutputStream(new FileOutputStream("e:\\abc.dat")); dos.writeInt(0xFF00F00F); dos.flush(); dos.close(); byte[] b = new byte[4]; InputStream is = new FileInputStream("e:\\abc.dat"); is.read(b); is.close(); for (int i = 0; i < 4; i++) { System.out.println("b[" + i + "]=" + b[i]); } } catch (Exception e) { e.printStackTrace(); } } } 此程序的运行结果是 b[0]=-1 b[1]=0 b[2]=-16 b[3]=15 可见在磁盘中存储的是高位在前,低位在后的,这很容易可以测试啊。
java不能直接写int啊,只能写byte[],在写硬盘之前,就要考虑大小端了
import java.io.*;public class Test { public static void main(String[] args) {
try {
DataOutputStream dos = null;
dos = new DataOutputStream(new FileOutputStream("e:\\abc.dat"));
dos.writeInt(0xFF00F00F);
dos.flush();
dos.close(); byte[] b = new byte[4];
InputStream is = new FileInputStream("e:\\abc.dat");
is.read(b);
is.close(); for (int i = 0; i < 4; i++) {
System.out.println("b[" + i + "]=" + b[i]);
}
} catch (Exception e) {
e.printStackTrace();
} }
}
此程序的运行结果是
b[0]=-1
b[1]=0
b[2]=-16
b[3]=15
可见在磁盘中存储的是高位在前,低位在后的,这很容易可以测试啊。
dos.writeInt(0xFF00F00F);
改成
dos.writeInt(0x01020304);
看的就更明显了,输出结果
b[0]=1
b[1]=2
b[2]=3
b[3]=4