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

文件传输基础——Java IO流

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

已采纳回答 / 春城乐
public static void main(String[] args) throws IOException { // TODO 自动生成的方法存根 String file="demo/dos.txt"; DataOutputStream dos=new DataOutputStream(new FileOutputStream(file)); dos.writeInt(10); dos.writeInt(-10); dos.writeLong(10L); dos.writeDoub...
老师就是我心中崇拜的大神,希望在以后的几年中有老师这么牛逼。现在还是好好踏实的吸取课程的精华吧

最新回答 / wshyzx
http://www.imooc.com/article/15714 当你需要int时byte自动转型成int
幸亏上课听了 要不听起来很费劲 还好都懂了

最赞回答 / 头发多
read返回的确实是字节数,但是读到文件尾时就返回-1。所以如果文件没有被读完,则返回读取长度而不是-1,while继续执行,循环利用buf。如果文件被读完,则返回-1,while循环结束。-----------------------------------------------如果按你说的bytes++<=buf.length,那读到文件尾时返回-1也小于buf.length,那循环还继续做不就错了^_^

最赞回答 / qq_3_16
你可以查看inputstream的read()方法read()           从输入流中读取数据的下一个字节c是一个byte更直观一点的话,你可以通过打印c并且通过对c被写入的次数计数来看<...code...>

已采纳回答 / 慕粉4406662
b是byte类型占8位,而我们需要的int类型是32位,所以会进行符号位扩展。如果原来的byte为11111111,扩展后就会变为11111111 11111111 11111111 11111111,所以需要把前三位变为0,0xff二进制就是1111 1111,前三位都是0,所以与0xff相与后就只剩下最低的一位为1。
二天学完了IO所获挺大的,以前都不能明白,现在至少知道了,慕课网不错!!!
真正把这一节搞懂的人有几个

最赞回答 / _小猪
对,你的类文件第一行有package 包路径;使用同一个包下的类使用的是这个路径,不用再import

最赞回答 / rjyb22
多行:选中后Ctrl+/ 文本:选中后Ctrl shift+/ 单行:在最前面打//
一楼居然被赞最多,这明显是误解。其实视频中写read(buffer)完全可以。以下是源码
public int read(byte b[]) throws IOException {
return readBytes(b, 0, b.length);
}
很明显read(byte b[]) 调用了readBytes(b, 0, b.length)。
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消