已采纳回答 / 好帮手慕珊
不是一次性都读取到buf数组中,看下面的代码第5行,通过read方法读到buf数组中,buf数组满了就进行处理(转换成16进制显示),然后再接着读,直到读到文件末尾为止。FileInputStream in = new FileInputStream("e:\javaio\1.mp3"); byte[] buf = new byte[8 * 1024]; int bytes = 0; int j = 1; while((bytes = in.read(buf,0,buf.length))!=-1)...
2014-11-26
最赞回答 / 源代码_思无邪
建立数组进行读文件,就是为了读取文件内容时快一些而己,不管你建多大的数组(当然还受内存大小影响),总会有你一次读不了的文件。你首先要明白你读文件是为了干什么?有没有必要一次将文件都读到流中,象老师讲的例子:复制文件,或者是将大文件分割再合成等就没有必要一次将文件读到流中呀。一次性读不完,老师的例子里说得很清楚了呀:就是那个while((b=in.read(buf, 0, buf.length))!=-1)语句,没有读完就一直循环,只到读到文件尾。
2014-11-26
已采纳回答 / 好帮手慕珊
写入顺序和读取顺序一致即可,见下面的代码,在老师代码的基础上加了一个age1属性,用transient修饰package com.imooc.io;import java.io.Serializable;public class Student implements Serializable{ private String stuno; private String stuname; //该元素不会进行jvm默认的序列化,也可以自己完成这个元素的序列化 private transient int stua...
2014-11-18