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

文件传输基础——Java IO流

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

已采纳回答 / 大清朝亡了
 if(dir.isDirectory()) {//用于判断file类的对象是否是目录            throw new IllegalArgumentException(dir + "不是目录");        }判断里面应该是:不是文件夹的话就抛出异常,如果是就遍历文件,应该加!

已采纳回答 / Passionate1
int b;while((b=in.read())!=-1){}这里定义的b 是in.read()读到有值的话就是整数,并把值赋值给b,然后与-1做比较,不等于-1,说明还有值,可以继续读取,如果是-1,里面没有值了,退出循环

已采纳回答 / 成功入行的秃头少女丶
读取数组长度大小的内容并把这些内容赋值给数组。 可以想象成搬砖的那个夹子,以夹子的长度从砖厂搬几块砖,你夹上去的时候这个夹子就夹满了,夹子的内容就是砖。夹子是数组,砖是内容。可能有点不太符合情况,我比喻不好hhhh…

已采纳回答 / 执迷的鲸鱼1019
我是这么理解的:4个字节,1个字节是8位。所以第一次右移24位,把最前面8位(第25-32位)的移到第1-8位

已采纳回答 / qq_环时空直线行人_0
listDirectory()throws IOException;则try{listDirectory()}catch(IOException e){}

已采纳回答 / NothingAJ
File 类有两种构造器,一种构造器的参数是 FIle (String, String),还有一种就是File (File, String),你可以看一下Java的文档

已采纳回答 / LL_lhw
1. demo/dos.dat 用的是相对路径,实际在那个java项目的文件夹里面2. 零基础的我建议还是先从最基础的开始学,基础打好了听起来就会比较容易,然后还是要多练习,自己总结一些经验,大概什么东西要怎么写之类的,这样会好一点。

已采纳回答 / qq_汐_21
那个bur[i]要&0xff 而且你前面那是bur[i]<0xff不是0xf,

已采纳回答 / qq_丶放縱的自由_0
Integer.toHexString() 类型你写错了,括号里不是string类型,去掉双引号

最赞回答 / 牙膏牙膏牙膏
in.read(buf,0,buf.length),这个方法返回的是它读取到的字节个数!正如你假设的,文件100字节,buf容量80字节:第一次读取的时候是返回80;第二次进入while的时候,文件读取的字节是从第81个字节开始(读取的时候文件有个指针一边读一边移动的,前面老师讲过),就是说文件还剩下20个字节可读,所以这时候返回的字节是20;第三次进入while的时候,文件已经没有内容可读了,所以返回的是-1;这时候就跳出了while!纯手打!望采纳!

已采纳回答 / qq_星河k_0
问题和代码无关,你只要输出System.out.println(0xffffffff)就会得到-1;原因是int 是有符号位,占4个字节,而0xffffffff是以int类型存储的,int是有符号的。即1111 1111 1111.......第一位被用来记录符号,所以这里就被解释为负号了,而Java在编码时,存储的是负数的补码,所以你的1111.....就成了1000......+1就是10000.....1就是-1啦。所以16进制最大的数是0x7fffffff.
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消