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

文件传输基础——Java IO流

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

最赞回答 / nashi
终端是在JVM虚拟机的运行时环境运行的,可以自动识别,但是写到文件里的内容,编码是根据及机器规定的编码机制来读取文件的,打开文件要使用特定的编码机制打开方式,否则乱码。

最新回答 / Eric_戚
Test1 main 方法里加一句FileUtils fu = new FileUtils();然后再用创造的实例调用方法 fu.listDirectory(new File("G:\\BaiduYunDownload"));

已采纳回答 / gao634209276
你的文件对不对,多大的。还可能你的计时放错顺序了

已采纳回答 / 沐风Felix
只是为了整齐好看而已,没有特殊意义

已采纳回答 / 我爱喝水1
因为程序有可能抛出异常,必须在main函数里捕获异常(try catch掉),或者继续将异常向上抛出,就是你这样的

已采纳回答 / 早饭荷包蛋
第一个问题:<...图片...>    我查看这个函数,read的返回值是the next byte of data,很明显,是下个读到的字节;第二个问题:    bos是输出流,bos.write()就是将数据写到输出流,有什么问题吗?    就像bis是输入流,bos.read()将数据读入输入了流;    bis是一个桶,bos又是另一个桶,明白了吗,不懂继续追问

已采纳回答 / 高原火狐狸
这点说的我也有些晕。我理解是:一共有A(源文件)、B(程序)、C(目标文件)三个桶,A装满了水,B、C都是空的,要把A的水通过B桶全部转移到C桶。单字节:一瓢一瓢从A舀水到B桶,再从B桶一瓢瓢舀水到C桶;缓冲读取:一瓢一瓢从A舀水到B桶,将B桶水直接倒入C桶;比单字节快一点;批量读取:直接从A桶倒水进B桶,再从B桶倒水进C桶;最快。从最后性能对比看,应该是这样的,老师解释的时候没有把B桶说太明确。

已采纳回答 / dabo
这是正确的,数字以字节写到你的文件,直接打开文件,编辑器会将数据根据字符集显示为文字,而你的数字对应不上字符集中的文字,所以显示乱码。原理和用notepad 打开一个*.exe文件乱码一样

最新回答 / 一条小咸鱼
就只有\吧,因为路径就只会用到: \,而\是转义符的开始,为了和\t,\n这一类区别,需要用\\转意为\

最赞回答 / 梁XX
需要写入,你可以在使用OutputStreamWriter或FileWriter不加入flush()方法,运行后观察被复制文件大小,你会看到不是GBK的文件,有时候复制文本为空,即没有复制东西,为0KB. 同时字符流FileWriter有可能出现漏读现象,再加上flush()方法,发现都被写入。因为下次在使用字符流的时候一定要记得加flush()方法确保没有错误。
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消