已采纳回答 / 慕粉3693314
这个方法应该就没错了,你只要在主方法中去调用这个方法,用 类名.copyFile(new File("要读的文件路径"),new File(File"要写文件路径"));这样在main方法中调用就可以了。
2016-07-22
已采纳回答 / KeT
length()方法返回的是由此抽象路径名表示的文件的长度,而上面的dir.listFiles(),它返回的是一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件,所以if里面的判断,一个是判断文件,一个是判断文件长度,所以才要如此。
2016-07-21
已采纳回答 / 摩诃迦叶
bytes = in.read(buf,0,buf.length),这里的0指的是buf数组的位置0,in.read(buf,0,buf.length)这行代码的意思是从文件中读取字节,将其放到buf数组中,从buf[0]开始放,到buf[buf.length]结束(如果字节足够多的话),或者有m个就放到buf[m]结束
2016-07-21
已采纳回答 / 小丑鱼yang
f(buf[i]<=0xf)这句有问题的!这里buf[i]是byte类型,虽然比较的时候会自动变成int,但是如果它的最高位是1的话,它始终都是负数!只需要在判断的时候再加上判断为正即可if(buff[i] <= 0xf && buff[i] >= 0)
2016-07-20
已采纳回答 / Coder编程
说明你没有导入源码文件,在你的JDK安装目录下有个src.zip文件。将它导入进去即可,如果没有的话。你可以到http://download.csdn.net/detail/michael_hm/9587153 这里下载源码,这是我1.8的源码。放到JDK目录下,导进去就可以,怎么导进去,网上有相关的教材。我就不截图了
2016-07-19
已采纳回答 / charsandrew
哪里返回b.length了,而且你贴的图完全不相干啊.length是一个对象的属性,指一个对象的长度。比如数组b.length。就表示数组的长度,就是数组中 元素的个数。而对于一个集合,比如list,一般用.size()方法获得其长度
2016-07-18
已采纳回答 / 心and心
当读取字节放入数组中时,若放入的是正数,if判断的结果是把十六进制只有一位的前面补0若放入的是负数,所有的负数一定小于0xf这个正数,if判断一定成立,全都会补0所以会出现有两位十六进制数仍然在前面补0的情况
2016-07-18