java请问这个是什么意思?只有一个自己长度?关于 in.read( );

byte[]buf=newbyte[1024];intnum=in.read(buf);Stringstr=newString(buf,0,num);把buf里的1个字节... byte[] buf = new byte[1024];
int num = in.read(buf);
String str = new String(buf,0,num);
把buf里的1个字节长度的int转成字符串?是这个意思么?如果对的话,为啥知转一个字节吖?
展开
 我来答
vampire_c
2011-10-22 · TA获得超过735个赞
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:488万
展开全部
不是这个意思。
in.read方法的返回值是读取的字节总数,也就是读取了num个字节放在buf里。
然后将buf里的前num个字节转换为字符串。
wufang1023
2011-10-22 · 超过10用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:40.1万
展开全部
这个是读取数据,你是在做上传文件操作吗?
它的意思是,循环读数据,先把你的文件分解成为二进制形式,然后再保存起来。
new String(buf, 0, num); 这里它不是把1个字节长度的int转成字符串,它的意思是每次转多少,然后全部转换。
为什么每个转一个字节:转的时候,byte[1024]这里面的大小最好是kb的整倍数,而且,最好为一倍或两倍,这样效率更好一些。
这是转换的固定语法,记住就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式