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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
看的一脸懵逼……
是曹雪松老师吧,真的不错
觉得老师writeChars()方法有问题,writeChars()是writeChar()方法的集合,写入的中文占3个字节,写入的英文占1个字节,恰好符合utf-8的编码,而utf-16be是中文和英文都占2个字节。
看完。感谢老师!讲的清楚,详细。
把flush()写到循环里面用了50S复制一个东西,写到外面则用了0.3S,差了太多了吧.
flush()方法(强制写入) 不知道我理解的对不对,希望有人指点一下
如之前大神所说的,其实在整个流的读取操作结束前,每当缓冲区满了一次,都会自动的将缓冲区的内容写入到目标文件,然后继续下一次.一个文件如果有102KB,缓冲区只有10KB,则需要11次导入,那么最后一次是填充不满缓冲区的,这时候就需要用到flush()强制写入,如果不用则会把最后的2KB内容丢失,flush()放在循环外会好一点.
写入int的时候 是不是应该先转成String 再转成byte数组 再写入文件呢?
很喜欢听敲键盘的声音···
小白自己写的字节流总结,多多批评改正,谢谢。http://blog.csdn.net/jin970505/article/details/78473211
小白写的File类总结,多多批评改正,谢谢。http://blog.csdn.net/jin970505/article/details/78446387
老师这节讲的如果子目录的路径下是个空文件夹,就不能显示了
if(file2.isDirectory()){
//递归
if(file2.listFiles().length>0){//子目录是路径且不为空,输出路径下的文件名。
istDirectory(file2);
}else{
System.out.println(file2);//子目录是路径,其内部为空,直接输出路径
}
}else{
System.out.println(file2);//子目录不是路径,输出子目录
}
内嵌了一个if语句再判断了一下
通过打印输出 对象时,会直接调用toString()方法,类似于print(object.toString())
看了下大家关注的点,个人认为如下:
当创建的数组长度小于要写入的字节时,通过while循环分多次写入,且out.write(buf,0,b),第二次不会覆盖上一次写入的;当某一次循环无字节可读时(读完了),返回-1,此时的b确实等于-1 ,但是此时要结束while循环了。
当然如果你创建的数组容量够大,当然可以不用循环,即一次性读入输入流,再一次性从输出流写入文件:in.read(buf,0,buf.length);
out.write(buf);
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消