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

文件传输基础——Java IO流

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

已采纳回答 / 沐风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文件乱码一样

已采纳回答 / 孤寂0123
betys=in.read(buf,0,buf.length),读取信息内容的时候,将信息暂时存入buf数组,一次性读不完的,会将读取到的信息的buf数组循环释放的,然后再继续存入buf数组,继续释放------我是这样想的,仅供参考

已采纳回答 / chrt
java默认的编码方式是unicode big endian,即大端存储方式的unicode,具体数据的高位字节存放在低位地址上。关于大端模式和小端模式可以进一步百度。

已采纳回答 / Its_forever
Java 中的一个byte,其范围是-128~127的,如果不进行&0xff,那么当一个byte会转换成int时,对于负数,会做位扩展,举例来说,一个byte的-1(即0xff),会被转换成int的-1(即0xffffffff ), 那么转化出的结果就不是我们想要的了。 而0xff默认是整形,所以,一个byte跟0xff相与会先将那个byte转化成整形运算,结果的高24位就会被清0,这是我们想要的结果。 看看这篇博客吧,http://makemyownlife.iteye.com/blog/104...

已采纳回答 / Its_forever
那三个文件,保存的时候都是用的ANSI编码,记事本默认编码,可以新建一个记事本直接另存为,看看他的编码格式就知道啦。只是打开的时候,由于联通二字的ASNI编码为:FF FE 6A 00 68 03 ,UTF-8编码为:FF FE 54 80 1A 90。 因为都是FF FE 开头的,记事本不能判断你保存时的编码标准,只能“猜测”你保存的时候的编码标准,因为联通二字的ANSI编码正好是以“FF FE”开头的,这样以ANSI编码(笔记本默认编码)保存以后再次打开,记事本首先检测到“FF FE”,就认为是UTF...

已采纳回答 / 絮絮念秋风
就是写入的10,但是你如果用文本文档打开,10对应ascii码中的换行符,所以你看着就是换了一行的效果,不是你想看到的字符串“10”的效果

最赞回答 / 天涯蝶舞
0x表示16进制,16进制用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F来表示,一个字节用16进制表示就一个两位或一位的数,例如a,0f,af,ae,3b,e,c等,其中一位的可以补0,例如0a,0e,0c。当只有一位时,f就说最大的,所以只要比16进制的f小或相等,一个字节转换为16进制就一定只有一位,这个时候就需要对其补0才能使两位数,所以表示为b <= 0xf

已采纳回答 / 自然自清
采用字节数组做参数,一次不仅可以写入一个汉字,可以写入一串汉字!

已采纳回答 / 慕男婶
一个类中只能有一个main,一个包中可以有多个类,所以可以有多个main

已采纳回答 / _潇潇暮雨
第一个问题:具体传递什么参数由方法的签名决定。第二个问题:先删除后创建,原先的内容肯定会被后面的覆盖。
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消