最赞回答 / 一枚flora
就是通过while循环,read的指针不断往后移,开始是开足马力每次都length长度,只有可能到最后一次,read不足length。由此实现只需要开辟一个很小空间的byte[]就可以读入很多的字节
2017-10-10
最赞回答 / 九尾猿
java 中的string 是不可变的,write的时候虽然右移了但是并没有改变 str1本身,而是重新创建了一个右移后的字节,因此不会有你说的问题。不知道这样讲明白么?
2017-09-23
已采纳回答 / 该取什么名字
while条件里bytes是int类型,先执行bytes=in.read(buf,0,buf.length)对bytes赋值,再判断bytes是不是等于-1,bytes表示buf中读到数据的长度(<=buf.length),没读到返回-1,buf.length=0时返回0
2017-09-20
最新回答 / 阿双otw
RandomAccessFile 一次只能写一个字节,"a"是个字符串,可以换成'a'或者"a".getBytes();getBytes()方法可以设置编码类型如gbk,utf-8等
2017-09-20
最新回答 / 我是叶霖
0到buf.length的长度是你定义的byte数组的长度你一次性最多读取的字节长度是byte数组长度,但是你的文件字节数往往是多于你定义的byte数组长度所以就用到了for循环,0xff是取低八位,八位为一个字节!!!望采纳QAQ
2017-09-11