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

文件传输基础——Java IO流

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

已采纳回答 / 勇敢的心9
以下仅供参考,只是个人的理解,我也是新手:输入输出流:最原始的方法,按字节读取;相当于打印机打印文章时:一个字一个字打印。数据输入输出流:在输入输出流的基础上进行了简单的封装(处理),可以按照数据基本类型读取,例如打印机打印文章:一个词语,或者成语,或者直接打印一句话,而不是一个字;缓冲流:进一步封装,憋满大招再放,像打印机一次性打印一篇文章,或者一个段落。

已采纳回答 / 小凡先森
简单点说,原来开辟空间之后输入的buf是Byte型,只有8位。现在要用Integer.toHexString把int型转化成字符型,这个函数括号里输入的一定要是int型也就是32位;为了不发生错误,就先用位与&把Byte型(只有8位)前面的24位全都变成0(比如:byte数据1011 1011&1111 1111 1111 1111....,按位运算,高位不足补0,1&1=1,1&0=0,0&0=0)。打个比方就是:8个乒乓球(byte数据)放到长度为32的筒状盒子...

最新回答 / 银鸽
while 是循环,while(i++%10==0)条件成立时它会执一次i增值,到下一次外的的哪个读文件循环再来断定的时候,i已经增加到10到.其实我们只打印了9次. 可能最一行是对的。if 条件断定,它这会再执一次i增值.

最赞回答 / 霸道学长3192921
不懂的看一下源码和API解释,一目了然!!学JAVA就是要学会看文档和源码~~~~这才是最好的学习方法!

已采纳回答 / 丶子非鱼
子目录下面还有子目录就是大于0的

已采纳回答 / 晴颜
你应该是用txt打开的吧?打开是乱码是因为编码格式不一样,你另存的时候改一下格式显示就会又不一样了。了解原因就可以,不必纠结这个

已采纳回答 / 晴颜
解决了就好。createNewFile()这个创建的是文件,demo.mkdir()这个创建的是文件夹

已采纳回答 / 晴颜
Refresh一下就看到了

已采纳回答 / 歌者休
老师的解释:(1)认识文本和文本文件java的文本(char)是16位无符号整数,是字符的unicoid编码(双字节编码)文件是byte byte byte 的数据序列文本文件是文本(char)序列按照某种(utf-8,utf-16be,gdk)序列化为byte的存储结果

已采纳回答 / 慕容9116793
可以重新下个jar包,添加到项目中试试

已采纳回答 / 慕运维6388425
我想,括号里面的buy应该是字节数组的意思。这只是两个不同的write方法。并没有想象的那么复杂前者:write(buy),意味着字节数组buy中的数据被全部写入了流所指向的文件里后者:write(buy,0,buy.length),以为着从这个字节数组的第0个位置(就是第一个开始写)开始,到第buy.length个位置结束,这中的内容写入write所指向的文件里。buy.length则是buy这个字节数组的长度,而那个0所代表的位置也可以被其他数字取代来代表不同的位置

最新回答 / tttct
你把两个方法的执行顺序换一下应该时间还是会变的吧。你的两个方法的代码贴出来看一下。

已采纳回答 / 青山洞主
大文件的情况下:应该是BufferedOutputStream效率最高,RandomAccessFile可以随机访问文件位置,效率上应该没有Buffered高,接着的DataOutputStream和FileOutputStream应该差不多,不过DataOutputStream进行了一些封装,可以直接处理基本类型数据,DataOutputStream要略优于FileOutputStream,FileOutputStream是最原始的了,直接对文件操作,写入字节数据。小文件的话:几 K的那种,其实你用哪个...
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消