已采纳回答 / 渴望飞翔的猪
你实现了Serializable接口,但没有为其指定ID?在代码里加上这段定义看看:private static final long serialVersionUID = -3286564461647015367L;
2016-09-05
已采纳回答 / IJN
本来Java的IO这块就比其它语言复杂,很多概念不是一下子就能懂,如果没理解这些概念那么IO这块就基本是迷迷糊糊。这个课程条理还是挺清晰的,要理解Java的IO确实应该先理解编码,编码的大概就是用字节来表示字符。计算机存储的是字节,一个字节一个字节存起来的,我们看到的是字符,许多字符在一起就是一段文字。字节怎么表示字符就是编码问题了。Java的InputStream之类的是处理字节流的,InputStreamReader这些是处理字符流的,我们知道了字节需要转换成字符才能表示成我们所理解的文字,那么Inp...
2016-09-01
已采纳回答 / 罗汉爷
因为累IOUtil中定义的是静态方法:public static void printHex。对于一般的非static成员变量或方法,需要有一个对象的实例才能调用,所以要先生成对象的实例,他们才会实际的分配内存空间。而对于static的对象或方法,在程序载入时便已经分配了内存空间,他只和特定的类想关联,无需实例化。
2016-08-27
已采纳回答 / 慕祈
io流中抛出异常是一种保护机制,保证程序不会异常中断,降低损失。因为可能就是文件在传输过程中遇到异常情况(如:机器坏了,主文件没了),无法成整个流程,这个时候就会出现异常。
2016-08-27
已采纳回答 / qq_弑神S无尘
分析代码:已有file类型dir对象,调用对象的ilstfiles方法,返回一个file数组,里面是dir里面的东西,并且已经被封装为file对象
2016-08-25
已采纳回答 / 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....
2016-08-25
已采纳回答 / Smile丶微冷
文件的本质呢就是一串长长的编码,就像‘011010.....’这样子的东西,当你读取的时候电脑会对内容进行识别和转换。而随机读取的用处呢,比如说你在看电影的时候想要快进,或者直接去看精彩部分,那么就要用到随机读取了。正常从头播放呢,就相当于按顺序读取,文件指针从头一个一个往过走,指针指到那个数据了,那个数据就读出来。而快进和跳转到精彩部分的时候呢,文件指针就会按照人为的设置,跳转到你所设置的文件位置,这就是随机读取的好处。
2016-08-24