已采纳回答 / demmo
for循环输出buf数组中的内容, while循环控制文件是否读完; read()返回的读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。在某些输入可用之前,此方法将阻塞。我的理解是一个水池,大小是buf.length 放满水后(存满了数据)从另个通道排出, 然后进水口在继续进水(继续读取数据,从0到buf.length)当最后一次排水结束 进水口没有进水了 返回了-1 触发了whlie的条件 ...
2015-09-09
最新回答 / 福尔摩斯易
首先你要知道将要写入的内容写入文件的时候,其实其底层是按一个字节一个字节写的(好像是按unicode码写的),所以中文汉字,和英文字母是不会出问题的(显示到文件上的unicode码还是原来的内容),但你写入基本数据类型时;比如0x7fffffff时,如果你用writeInt的话写入的是 127 -1 -1 -1,你把这4个码在转换过来还是0x7fffffff吗?上面仅代表个人理解
2015-09-05
已采纳回答 / sixGod
就是方法调用而以啊,你这段代码是不是写在ListDirectory()中啊,接收参数是个文件,整个方法逻辑就是1、传一个文件路径dir进来,如果传进来的是文件夹,取出文件夹中的所有文件进行遍历2、遍历时将每个文件进行判断,如果发现是文件夹,执行递归,又回到第一步。如果不是文件夹,就输出
2015-09-02
已采纳回答 / 忘性最大的人
每次读取buf数组长度的数据,当读到文件末尾时,因为二进制流读取是读0或1,当读到-1时说明文件已经读到末尾,此时文件读取完毕。上面的循环就是在反复读取文件,直到读到文件末尾的-1,文件读完。
2015-08-30