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;
}
注意,不是自动转的,需要强制做处理。
你可以用StringTokenizer,
StringTokenizer t = new StringTokenizer("[:.]");
意思是说以""内的所有字符区分获得的a里的字符段.
然后用
while(t.hasMoreToken){
Sting b = t.nextToken;
}
获得不同的b分别对应00,20,19