欢迎来到天天文库
浏览记录
ID:34723818
大小:51.99 KB
页数:3页
时间:2019-03-10
《java将对象保存到文件中从文件中读取对象》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1.保存对象到文件中Java语言只能将实现了Serializable接口的类的对象保存到文件中,利用如下方法即可:publicstaticvoidwriteObjectToFile(Objectobj){Filefile=newFile("test.dat");FileOutputStreamout;try{out=newFileOutputStream(file);ObjectOutputStreamobjOut=newObjectOutputStream(out);objOut.writeObject(
2、obj);objOut.flush();objOut.close();System.out.println("writeobjectsuccess!");}catch(IOExceptione){System.out.println("writeobjectfailed");e.printStackTrace();}}参数obj一定要实现Serializable接口,否则会抛出java.io.NotSerializableException异常。另外,如果写入的对象是一个容器,例如List、Map,也要保证
3、容器中的每个元素也都是实现了Serializable接口。例如,如果按照如下方法声明一个Hashmap,并调用writeObjectToFile方法就会抛出异常。但是如果是Hashmap就不会出问题,因为String类已经实现了Serializable接口。另外如果是自己创建的类,如果继承的基类没有实现Serializable,那么该类需要实现Serializable,否则也无法通过这种方法写入到文件中。Objectobj=newObject();//failed,theobj
4、ectinmapdoesnotimplementSerializableinterfaceHashMapobjMap=newHashMap();objMap.put("test",obj);writeObjectToFile(objMap); 2.从文件中读取对象可以利用如下方法从文件中读取对象publicstaticObjectreadObjectFromFile(){Objecttemp=null;Filefile=newFile("test.
5、dat");FileInputStreamin;try{in=newFileInputStream(file);ObjectInputStreamobjIn=newObjectInputStream(in);temp=objIn.readObject();objIn.close();System.out.println("readobjectsuccess!");}catch(IOExceptione){System.out.println("readobjectfailed");e.printStackT
6、race();}catch(ClassNotFoundExceptione){e.printStackTrace();}returntemp;}读取到对象后,再根据对象的实际类型进行转换即可。
此文档下载收益归作者所有