java 读取byte[] 指定字节
有一个数据包,格式为1字节int,2字节int,3字节int,11字节byte[],4字节int,1字节int,1字节int,1字节int,1字节int,4字节int,我...
有一个数据包,格式为1字节int,2字节int,3字节int,11字节byte[],4字节int,1字节int,1字节int,1字节int,1字节int,4字节int,我该怎么接收这个数据包,然后分别把每个单位中的数据取出来?
展开
2个回答
展开全部
public abstract int read()() throws IOException
从输入流中读取数据的下一个字节。返回 0 到 255 范围内的 int
字节值。如果因为已经到达流末尾而没有可用的字节,则返回值 -1。在输入数据可用、检测到流末尾或者抛出异常前,此方法一直阻塞。
子类必须提供此方法的一个实现。
还有下面两个方法可选,具体的API说明查找java.io.InputStream的说明。
public int read(byte[] b) throws IOException
public int read(byte[] b,int off, int len) throws IOException
字节转整数时注意高地位。
从输入流中读取数据的下一个字节。返回 0 到 255 范围内的 int
字节值。如果因为已经到达流末尾而没有可用的字节,则返回值 -1。在输入数据可用、检测到流末尾或者抛出异常前,此方法一直阻塞。
子类必须提供此方法的一个实现。
还有下面两个方法可选,具体的API说明查找java.io.InputStream的说明。
public int read(byte[] b) throws IOException
public int read(byte[] b,int off, int len) throws IOException
字节转整数时注意高地位。
2014-03-21
展开全部
定义系列的变量,是byte[长度]的。
逐个读到,再转成相应的数据类型,如new String(bytes, 0, 长度)
整数也可以使用 ((int)bytes[0])<<24 + ((int)bytes[1])<<16+ ((int)bytes[2])<<8 +((int)bytes[3]) 这样转换。
逐个读到,再转成相应的数据类型,如new String(bytes, 0, 长度)
整数也可以使用 ((int)bytes[0])<<24 + ((int)bytes[1])<<16+ ((int)bytes[2])<<8 +((int)bytes[3]) 这样转换。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |