急问:java基础问题,关于访问字节数组时的类型转换问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 05:00:20
比如我有一个字节数组byte[12],前4个字节为一个整数,中间4个字节为一个float类型的数,后四个字节为一个整数,我该如何获取这3个数值。 能不能定义一个结构体,像c++中的指针那样,直接类型转换一下。请指教,谢谢。

public static void main(String[] args) throws Exception{ // TODO Auto-generated method stub System.out.println(Integer.toHexString(5678)); System.out.println(Integer.toHexString(56787890)); byte[] bt = new byte[16]; //转化为4字节的56787890 bt[0] = 3; bt[1] = 98; bt[2] = -125; bt[3] = -78; //转化为8字节的12345.67(double型) bt[4] = 64; bt[5] = -56; bt[6] = 28; bt[7] = -43; bt[8] = -62; bt[9] = -113; bt[10] = 92; bt[11] = 41; //转化为4字节的5678 bt[12] = 0; bt[13] = 0; bt[14] = 22; bt[15] = 46; ByteArrayInputStream bi = new ByteArrayInputStream(bt); DataInputStream di = new DataInputStream(bi); System.out.println(di.readInt()); System.out.println(di.readDouble()); System.out.println(di.readInt()); }