java中byte[]转换成int

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中byte[]转换成int相关的知识,希望对你有一定的参考价值。

byte[] a=new byte(10);
从文件读取的数据a=[00:20.19]这10个字符,怎样让int a,b,c;
a=00;b=20;c=19.我是想把那延迟时间加上,还有什么好方法么

java中byte转换为 int有两种情况,一种是要求保持值不变,例如进行数值计算,可采用强制类型转换:int i = (int) aByte;
另一种是要求保持最低字节中各个位不变,3个高字节全部用0填充,例如进行编解码操作,
则需要采用位操作:int i = b & 0xff;

int InputStream.read()
该函数返回一个int类型,范围从0至255,如果到达流末尾,返回-1。通过ByteArrayInputStream的源码可以看到是如何从byte转到int
public synchronized int read()
return (pos < count) ? (buf[pos++] & 0xff) : -1;


注意,不是自动转的,需要强制做处理。
参考技术A 你可以用StringTokenizer,
StringTokenizer t = new StringTokenizer("[:.]");
意思是说以""内的所有字符区分获得的a里的字符段.
然后用
while(t.hasMoreToken)
Sting b = t.nextToken;

获得不同的b分别对应00,20,19本回答被提问者采纳

以上是关于java中byte[]转换成int的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中int强制转换byte

JAVA中int强制转换byte

java中怎么将一个int转成高位在前的byte

求java编程 字节byte怎么转换成整形int?

java中如何将byte[]里面的数据转换成十六进制

05转换成int