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

文件传输基础——Java IO流

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

已采纳回答 / 醉朦胧转身一瞬尽成空
这只是声明了一个对象,还没有写到系统中。后边加一句file2.createNewFile()就ok了

已采纳回答 / 六月熊
UTF-8中,前面两个字符表示数据占用的字节数。eg:  dos.writeUTF("中国中国"),运行结果前面两位就会为00 0c。即"中国中国"占用12个字节。还望采纳!

已采纳回答 / share眼睛
应该是看还有没有值(是否为空),为空返回值为-1。

已采纳回答 / 侧耳听
while ((b=fin.read())!=-1)判断的是fin.read()是否读到最后,而且每次判断都会重新给b赋值,这里主要是read()会一个一个往下读取。int b =fin.read();while(b!=-1)这里只给int b赋值一次,这里只判断b里面的值,如果b不等于-1不就一直打印一个嘛。

已采纳回答 / nlite
在eclipse中,选中某个类,按下F1键,可以查看到帮助

已采纳回答 / 渴望飞翔的猪
你实现了Serializable接口,但没有为其指定ID?在代码里加上这段定义看看:private static final long serialVersionUID = -3286564461647015367L;

已采纳回答 / IJN
本来Java的IO这块就比其它语言复杂,很多概念不是一下子就能懂,如果没理解这些概念那么IO这块就基本是迷迷糊糊。这个课程条理还是挺清晰的,要理解Java的IO确实应该先理解编码,编码的大概就是用字节来表示字符。计算机存储的是字节,一个字节一个字节存起来的,我们看到的是字符,许多字符在一起就是一段文字。字节怎么表示字符就是编码问题了。Java的InputStream之类的是处理字节流的,InputStreamReader这些是处理字符流的,我们知道了字节需要转换成字符才能表示成我们所理解的文字,那么Inp...

已采纳回答 / 罗汉爷
因为累IOUtil中定义的是静态方法:public static void printHex。对于一般的非static成员变量或方法,需要有一个对象的实例才能调用,所以要先生成对象的实例,他们才会实际的分配内存空间。而对于static的对象或方法,在程序载入时便已经分配了内存空间,他只和特定的类想关联,无需实例化。

已采纳回答 / 慕祈
io流中抛出异常是一种保护机制,保证程序不会异常中断,降低损失。因为可能就是文件在传输过程中遇到异常情况(如:机器坏了,主文件没了),无法成整个流程,这个时候就会出现异常。

已采纳回答 / cavalier_jx
因为比较好看,二进制输出一个字节老长了……

已采纳回答 / qq_弑神S无尘
分析代码:已有file类型dir对象,调用对象的ilstfiles方法,返回一个file数组,里面是dir里面的东西,并且已经被封装为file对象

已采纳回答 / luomu24
因为这些本身就是dir的子文件,再上dir不就是父目录了麽。

已采纳回答 / conquer001
告诉java虚拟机将中文以“gbk”的方式转换为字节数组,一个汉字两个字节

已采纳回答 / Airly
先说说你的这个问题, 为什么不是小于bytes的长度?int bytes=in.read(buf,0,buf.length); 这里bytes返回的是int类型的整数而不是数组!没有.length这一说你其实想说的是为什么不是小于buf[i]这个数组的长度吧...是因为老师设置了byte[] buf =new byte[20*1024],有可能读取出来的字节并没有把这个数组装满,所以这里的i只能小于读出来的有效字节长度,而这个读出来的有效字节长度就是int bytes=in.read(buf,0,buf....
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消