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

文件传输基础——Java IO流

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

已采纳回答 / qq_向前走呗_0
java中指针的概念是隐式的,指向文件中的某个字节,当打开文件时候,指针指在文件开头,pointer=0,每一次向文件中output字节,指针都会移动,Xxx.seek(0); 是让指针回到文件头部。

最新回答 / qq_prisoner_4
   System.out.println(A)你把这个加到if语句块里去。else语句是非空文件夹才会输出。仔细想想。

已采纳回答 / xunlingzi
Ctrl + 鼠标左键(如果提示找不到源码的话,可以在Windows-->Preferences-->Java-->Installed JREs里面设置)

已采纳回答 / 慕田峪3134475
files是返回的File类型数组,file是数组中的元素需要先判断数组是否为空(files.length >0),而files != null只是更周全的写法,在这个示例里面其实是可以不用写的,因为上面已经判断了dir的存在

已采纳回答 / KEIKEIMAIM3252878
字符流对多国语言支持性较好,比如中文

已采纳回答 / qq_安居旧巷猫患者_0
我试了一下 是因为你文件名输入错了     你是不是没输入盘符啊

已采纳回答 / linhbo
去Finder里面右键文件夹,显示文件的简介,然后可以看到文件目录,将文件目录复制下来,文件的路径格式和windows有点差别,比如,windows需要写成File file=new File("C:/ceshi","ddd.txt");那么mac的目录可能是File file=new File("/Users/lhb/ceshi","ddd.txt");你可以写程序自己看看

已采纳回答 / 千修罗
首先file2只是一个对象,是指创建了一个指向那个地址的对象,但是与本身那个文件存在与否没有关系,所以才有下面的判断是否有定位到这个文件,如果没有,那么就执行CreateNewFile在你的系统中创建这个文件。所以一个是Java的类对象,一个是系统的文件。

已采纳回答 / 该取什么名字
while条件里bytes是int类型,先执行bytes=in.read(buf,0,buf.length)对bytes赋值,再判断bytes是不是等于-1,bytes表示buf中读到数据的长度(<=buf.length),没读到返回-1,buf.length=0时返回0

最赞回答 / mmzpr5554321
正如你所说,byte只有8位,然后int有32位,所以byte转换为int,int的前面24位是无意义的(就是跟转换过来的值无关),所以0xff=0000 0000 0000 0000 0000 0000 1111 1111 & b可以保留后8位的数值,前面24位不管是0还是1都会为0不显示。

已采纳回答 / 慕雪6201052
因为他过时了。该类童工了对文件的操作,包括写于读,与其他的IO类基本没有多大的关系,是一个独立的类。而最新的IO操作,分的特别详细,包括输入流,输出流,读与写等等。不再是以前的单一类可以完成的。内存映射,,差不多可以取代RandomAccessFile 了

已采纳回答 / 慕田峪1616461
如果是read(byte[] b),若最后一次读取的长度不及数组的长度,则后面的内容会是上次读取残留的内容;如果是read(byte[] b, int off, int len),若最后一次读取的长度不及数组的长度,则后面的会为空,解决了为什么用read(byte[] b)读取产生的结果比原来多的问题
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消