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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
我的代码和老师的差不多,如下:
out.write('A');
out.write('c');
int a = 10;
out.write(a>>>24);
out.write(a>>>16);
out.write(a>>>8);
out.write(a);
byte []gbk = "中国".getBytes("gbk");
out.write(gbk);
out.close();


可是为什么打印输出后显示的是:

41 63

这是怎么回事呀?
乱码是什么鬼啊
排名第一同学的问题:
out.write(buf, 0, b);
0,b的意思是将buf数组中的0-b的数据全都依次写入,不会覆盖之前写的。
是不是从头开始写,加不加true,是在实例化FileOutputStream进行的选择。
老师是创建了一个新文件,所以即使不加true也没关系。
(解释的不好,但是大致是这个意思(逃
回复code:什么东西都写在ppt里的老师最没水平。这个老师很棒,节奏很好

已采纳回答 / 慕粉3700301
其实就是一个提示,就看你程序约定的方式。你直接out输出也行,log打印日志也行,这种抛出异常也是一种提示。

已采纳回答 / KeT
length()方法返回的是由此抽象路径名表示的文件的长度,而上面的dir.listFiles(),它返回的是一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件,所以if里面的判断,一个是判断文件,一个是判断文件长度,所以才要如此。

已采纳回答 / 摩诃迦叶
bytes = in.read(buf,0,buf.length),这里的0指的是buf数组的位置0,in.read(buf,0,buf.length)这行代码的意思是从文件中读取字节,将其放到buf数组中,从buf[0]开始放,到buf[buf.length]结束(如果字节足够多的话),或者有m个就放到buf[m]结束

已采纳回答 / 小丑鱼yang
f(buf[i]<=0xf)这句有问题的!这里buf[i]是byte类型,虽然比较的时候会自动变成int,但是如果它的最高位是1的话,它始终都是负数!只需要在判断的时候再加上判断为正即可if(buff[i] <= 0xf && buff[i] >= 0)
挺好的,学到了很多
反编译查看.class文件的内容,可以查看writeInt()方法,这个方法就被封装在了jdk的jar包中
全屏的时候下面的视频控制条一直在弹出来又弹回去,接着又弹出来又弹回去,什么鬼,这个播放器做的很不好啊
我发现用WriteUTF写出的“中国”两字,其实各占了4个字节而不是老师所说的3个字节

已采纳回答 / Coder编程
说明你没有导入源码文件,在你的JDK安装目录下有个src.zip文件。将它导入进去即可,如果没有的话。你可以到http://download.csdn.net/detail/michael_hm/9587153 这里下载源码,这是我1.8的源码。放到JDK目录下,导进去就可以,怎么导进去,网上有相关的教材。我就不截图了
按了crtl+F,结果出现了source not found
网络好卡,跳到指定位置相当卡,根本不会动
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消