为了账号安全,请及时绑定邮箱和手机立即绑定

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰

已采纳回答 / HZW123
好像是一种习惯,为了防止以后代码多的情况下因为缺乏该空函数,而程序出现错误。

已采纳回答 / 慕粉3693314
这个方法应该就没错了,你只要在主方法中去调用这个方法,用  类名.copyFile(new File("要读的文件路径"),new File(File"要写文件路径"));这样在main方法中调用就可以了。

已采纳回答 / 慕粉3700301
其实就是一个提示,就看你程序约定的方式。你直接out输出也行,log打印日志也行,这种抛出异常也是一种提示。

已采纳回答 / KeT
length()方法返回的是由此抽象路径名表示的文件的长度,而上面的dir.listFiles(),它返回的是一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件,所以if里面的判断,一个是判断文件,一个是判断文件长度,所以才要如此。

已采纳回答 / 摩诃迦叶
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]结束

已采纳回答 / 小丑鱼yang
f(buf[i]<=0xf)这句有问题的!这里buf[i]是byte类型,虽然比较的时候会自动变成int,但是如果它的最高位是1的话,它始终都是负数!只需要在判断的时候再加上判断为正即可if(buff[i] <= 0xf && buff[i] >= 0)

已采纳回答 / Coder编程
说明你没有导入源码文件,在你的JDK安装目录下有个src.zip文件。将它导入进去即可,如果没有的话。你可以到http://download.csdn.net/detail/michael_hm/9587153 这里下载源码,这是我1.8的源码。放到JDK目录下,导进去就可以,怎么导进去,网上有相关的教材。我就不截图了

已采纳回答 / charsandrew
哪里返回b.length了,而且你贴的图完全不相干啊.length是一个对象的属性,指一个对象的长度。比如数组b.length。就表示数组的长度,就是数组中 元素的个数。而对于一个集合,比如list,一般用.size()方法获得其长度

已采纳回答 / 心and心
当读取字节放入数组中时,若放入的是正数,if判断的结果是把十六进制只有一位的前面补0若放入的是负数,所有的负数一定小于0xf这个正数,if判断一定成立,全都会补0所以会出现有两位十六进制数仍然在前面补0的情况

最赞回答 / charsandrew
我明白了,但是是通过自己写代码试验+看read()方法的原代码,明白的。我上面说的情况确实不会发生。如果你有兴趣,我讲给你一下。
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消