
java 问题,下面的代码怎么意思?为什么要这样写,目的是什么?
byte[]len=newbyte[4];dis.read(len);intl=Integer.valueOf(newString(len).trim());InputS...
byte[] len = new byte[4];
dis.read(len);
int l = Integer.valueOf(new String(len).trim());
InputStream dis = null; 展开
dis.read(len);
int l = Integer.valueOf(new String(len).trim());
InputStream dis = null; 展开
4个回答
展开全部
dis是什么类创建的对象?
byte[] len = new byte[4];表示字节数组,大小为4,
int l = Integer.valueOf(new String(len).trim());中,
new String(len).trim());创建新的字符串,.trim()表示去了空格;
Integer.valueOf将字符串转为整形
byte[] len = new byte[4];表示字节数组,大小为4,
int l = Integer.valueOf(new String(len).trim());中,
new String(len).trim());创建新的字符串,.trim()表示去了空格;
Integer.valueOf将字符串转为整形
追问
InputStream dis = null;
追答
InputStream 是用来从 CDR 编组流中读取 IDL 类型的 Java API;
dis.read();从输入流中读取数据的下一个字节。返回 0 到 255 范围内的 int 字节值。如果因为已经到达流末尾而没有可用的字节,则返回值 -1。在输入数据可用、检测到流末尾或者抛出异常前,此方法一直阻塞。
InputStream 没有带参的read(参数)方法。你用错了
展开全部
byte[] len = new byte[4];//定义长度为4的字节数组
dis.read(len);//从输入流中读取4个字节,并将其存储在数组 len 中
int l = Integer.valueOf(new String(len).trim());//先将len转成字符串,去掉前后空格,再转成int值
dis.read(len);//从输入流中读取4个字节,并将其存储在数组 len 中
int l = Integer.valueOf(new String(len).trim());//先将len转成字符串,去掉前后空格,再转成int值
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
读取Int类型的数据,因为int是32位的,也就是4字节,所以一次读取一个int值,就是取4个字节。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
意思就是读取一个具有四个bite,然后通过read方法将其连接成一个inputStream,最后转化成整数l。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询