- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RandomAccessFile类的构造方法如下: public RandomAccessFile(String name, String mode) public RandomAccessFile(File file, String mode) 其中参数mode的可选值为:“r” 或 “rw”。当模式为r时,如果文件不存在则会报异常;当模式为rw时,如果文件不存在会自动创建文件,当文件已经存在时,不会对原有文件进行覆盖。 RandomAccessFile类的常用方法: public long getFilePointer():获取文件位置指针 public void seek(long pos) :文件位置指针定位 public int skipBytes(int count):跳过多少字节数 public long length() :获取文件长度 9.5.2标准输入输出 Java的标准输入/输出分别通过System.in和System.out来代表,在默认的情况下分别代表键盘和显示器,当程序通过System.in来获得输入时,实际上是通过键盘获得输入。当程序通过System.out执行输出时,程序总是输出到屏幕。因此,对键盘的输入操作称为标准输入操作;向显示器的输出操作称为标准输出操作。 Java通过java.lang包中的System类提供标准输入输出,该类包括in、out、err几个成员方法,其基本功能如下: System.out:类型为java.io.PrintStream,提供向“标准输出”写出数据的能力。 System.in:类型为java.io.InputStream,提供从“标准输入”读入数据的能力。 System.err:类型为java.io.PrintStream,提供向“标准错误输出”写出数据的能力。 实例9-11利用RandomAccessFile类在f盘上创建一个文件“rtest.dat”并向其写入10个double类型的数据;然后利用seek()方法将文件指针第5个数据后面,重写第6个数据,最后输出文件中的10个数据。 9.6 对象流 Java提供了对象的序列化和反序列化机制,保证对象流在对象层次上进行输入输出。 所谓对象序列化,就是将一个对象转换为二进制的数据流。通过将对象序列化,可以方便的实现对象的传输及保存。如果一个类的对象要想实现序列化,就必须保证该类实现serializable或Externalizable接口。在此接口中没有任何的方法,只是作为一个标识,表示本类的对象具备了序列化的能力而已。 所谓对象反序列化,就是将对象的二进制数据流转换成相应的对象。 在Java中,利用ObjectOutputStream和ObjectInputStream这两个类来实现对象的序列化和反序列化;其中利用ObjectOutputStream类进行对象的序列化把对象写入字节流;利用ObjectInputStream类进行对象的反序列化,从一个字节流中读取对象。 9.6.1对象序列化 ObjectOutputStream类是OutputStream的子类,该类也实现了ObjectOutput接口,其中ObjectOutput接口支持对象序列化。该类用于向输出流写入对象。 ObjectOutputStream类的一个构造方法如下: ObjectOutputStream(OutputStream outStream) throws IOException 实例9-12利用ObjectOutputStream把一个Person类型的对象写入到f盘person.tmp文件中。 9.6.2对象反序列化 ObjectInputStream是InputStream的子类,该类实现了ObjectInput接口,其中ObjectInput接口支持对象反序列化。该类用于从输入流中读取对象。 ObjectInputStream 类的一个构造方法如下: ObjectInputStream(InputStream inputStream) throws IOException 实例9-13利用ObjectInputStream把f盘person.tmp文件中的对象读出并在显示器上输出。 9.7案例分析与实现(续) 1.系统分析 到目前为止,“企业人力资源管理系统”中的功能都已经实现了,但是汇报数据、考评数据并没有永久保存起来,每次运行该系统都需要先输入汇报数据和考评数据后才能查看。这里我们利用文件和流的相关知识完成数据的永久性存放。 2.本次任务 (1)为了能将考评信息进行序列化和反序列化,需要修改Evaluation类,使该类实现Serializable接口。 (
文档评论(0)