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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
看了下大家关注的点,个人认为如下:
当创建的数组长度小于要写入的字节时,通过while循环分多次写入,且out.write(buf,0,b),第二次不会覆盖上一次写入的;当某一次循环无字节可读时(读完了),返回-1,此时的b确实等于-1 ,但是此时要结束while循环了。
当然如果你创建的数组容量够大,当然可以不用循环,即一次性读入输入流,再一次性从输出流写入文件:in.read(buf,0,buf.length);
out.write(buf);

最新回答 / Pikachu2016
因为递归之后是有判断某个目录下的长度的,而当递归遍历到空文件夹时,它的长度为0,就不会执行for里面的语句了,就更无法执行for里面的打印语句了。可以运行一下下面的代码,会每次递归都输出长度,容易理解File[] filename=dir.listFiles(); //遍历该数组 //for (File string : filename) { // System.out.println(string); //} //2、调用list()方法罗列文件 // String[] filename2=...

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

最赞回答 / 慕仙7425987
可以不使用静态方法,不使用静态方法,在Test类中就需要先创建一个IOUtil  iu = new IOUtil()对象,通过iu.copyFileByBuffer();方法调用,使用静态方法就可以直接IOUtil.copyFileByBuffer();就可以使用了

最新回答 / 小卢3304401
FileInputStream(file)是一个输入字节流,返回的是FileInputStream类型.可以直接用啊!不知道你为什么会这样问!

最赞回答 / Simenzz
0xf表示是16进制中 一位数最大的数字。相当于10进制中 一位数最大的数字是9其中判断的内容是if(输出只有一位数)

最新回答 / impeldown_0
解决了,是我之前创建了RandomAccessFile这个类,所以不能弹出工具包里的RandomAccessFile类
目前来看,这一章,全程懵逼

最新回答 / 慕粉3959820
i是int型的是四个字节,由于每次只能读写一个字节,所以把i写进去需要写四次

最新回答 / 蓝_zz小姐
首先,gbk编码方式是中文占两个字节,英文占1个字节。但是,Java是双字节编码,采用的是utf-16be编码方式,而utf-16be编码是中文和英文都占两个字节。这里的write()写A、B、i  都是采用的Java默认的编码,只是后面的汉字“中”才采用的gbk编码,所以老师getBytes("gbk")传入了编码方式。因为A是char 型,16位,本身是占两个字节。我猜你是上面这个知识点没弄明白。这里老师就是想说明write()方法一次只能写一个字节,所以这里A只写了后8位,所以A是没有读写完的。但是...

最新回答 / 慕姐936777
直接打印file类型,是在内部tostring了,它本身是一个File对象,第一节讲File的时候说过了。你试试其他对象类型,打印出来的都是对象地址。
大神的课我听不懂……

最新回答 / 690017359
你不贴代码,我怎么知道你错在哪里?找不到路径要么是后缀名没写或者写错了?我之前遇到过这个问题,你检查一下这两个方法有没有写对object.mkdir();//创建文件夹object.createNewFile();//是创建文件
其他方面,字符流和字节流全都是流式操作,和RandomAccess的随机访问不一样,Random有一个指针,你可以随便指定要访问文件的位置,而且他的实例有很多种操作模式,可以同时实现读写。而字符和字节流则需要两个Out与IN类。
同样的,
字符流类全部都
继承于Reader和Writer抽象类
OutputStreamReader/writer类
与BufferedWriter/Reader是直接继承于他们的,前者可以设置编码格式,将对应格式的文本文件解码成字符流。后者可以直接读取一整行,但是不会换行。
然后FileWriter和FileReader是直接继承于OutputStreamReader/writer类的,他也封装了一些底层操作,更加方便。但是没有办法设置解码格式,只能按照项目默认的设置解码。
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消