已采纳回答 / 相遇即是缘分
字节数组不足以存放文件中的字节数据时,又想读完文件中的数据,这个时候,就要用到while循环了。如果字节数组足够大,可以放下整个文件的数据时,就不需要用到while循环了,只读一次就行了。但是,一般情况下,还是要用while循环,因为字节数组初始大小,无法保证适合所有的情况。
2019-08-25
已采纳回答 / Java攀登者
我去试了一下,发现并不会buf数组并不会初始化,第二次读取的数据会直接覆盖数组原来的内容。假设第二次循环b=1002,那么buf[0]~buf[1001]的值会与第一次循环时的值不一致,而buf[1002]之后的数据与第一次循环一致。没覆盖的值不为0就证明了没有初始化,这就说明第二次读取时的内容直接覆盖原来的内容。
2019-08-16
最新回答 / martinzh
FileReader/FileWriter 是 InputStreamReader/OutputStreamWriter的封装;可以让你更方便的操作文件的读写。前者就相当于你从家到公司有公交或者有地铁一样, 只要知道你自己家是什么站点,公司是什么站点就可以到达目的地。后者就相当与你自己从家到公司要走路或者自己开车,除了你要知道你家和公司的站点是什么, 你也必须知道你从家去公司要走什么路线才能到目的地。
2019-08-14
最新回答 / 墓中幻相
反序列化出来的是一个对象,对象就好比new Student();创建出来的实例化对象它是在堆内存里的;而把实例化的对象赋值给变量也就是 Object p = new Student(); 这个变量p只是个变量,他在栈内存里,存储的是右边堆内存里对象的引用地址。而输出这个变量P的话实际上也是输出他存储的引用地址
2019-07-08
已采纳回答 / 程序猿天璇
>>>(按位右移不足补0),表示无符号右移!右移表达式的位,不保留符号。result = expression1 >>> expression2参数解释:result:任何变量。expression1:任何表达式。expression2:任何表达式。说明:>>> 运算符把 expression1 的各个位向右移 expression2 指定的位数。右移后左边空出的位用零来填充。移出右边的位被丢弃。例如: var temptemp = -14 >&...
2019-07-06
最赞回答 / qq_prisoner_4
我自己回答一下吧。read方法返回值赋给b不能在while体外,否则将执行无限循环。相当于b是给定的不为-1的值,而在while循环中,b是一直在检验的,检验输入流是否读取到文件末端。
2019-07-03
已采纳回答 / FarCryrr
1个字节是8位只有8种基本类型可以算.其他引用类型都是由java虚拟机决定的自己不能操作byte 1字节short 2字节int 4字节long 8字节float 4字节double 8字节char 2字节boolean 1字节
2019-06-18