gpt4 book ai didi

Java将对象写入文件读出_序列化与反序列化的实例

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Java将对象写入文件读出_序列化与反序列化的实例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

Java类中对象的序列化工作是通过ObjectOutputStream和ObjectInputStream来完成的.

写入:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
File aFile= new File( "e:\\c.txt" );
     Stu a= new Stu( 1 , "aa" , "1" );
     FileOutputStream fileOutputStream= null ;
     try {
       fileOutputStream = new FileOutputStream(aFile);
       ObjectOutputStream objectOutputStream= new ObjectOutputStream(fileOutputStream);
       objectOutputStream.writeObject(a);
       objectOutputStream.flush();
       objectOutputStream.close();
     } catch (FileNotFoundException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
     } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
     } finally {
       if (fileOutputStream!= null )
       {
         try {
           fileOutputStream.close();
         } catch (IOException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
         }     
       }
     }

读取:

?
1
2
3
4
FileInputStream fileInputStream=new FileInputStream(aFile);
ObjectInputStream objectInputStream=new ObjectInputStream(fileInputStream);
Stu s=(Stu)objectInputStream.readObject();
System.out.println(s);

注意:

对于任何需要被序列化的对象,都必须要实现接口Serializable,它只是一个标识接口,本身没有任何成员,只是用来标识说明当前的实现类的对象可以被序列化.

如果在类中的一些属性,希望在对象序列化过程中不被序列化,使用关键字transient标注修饰就可以。当对象被序列化时,标注为transient的成员属性将会自动跳过。如果一个可序列化的对象包含某个不可序列化对象的引用,那么序列化操作会失败,会抛出NotSerializableException异常,那么将这个引用标记transient,就可以序列化了.

当一个对象被序列化时,只保存对象的非静态成员变量,不能保存任何的成员方法,静态的成员变量.

如果一个对象的成员变量是一个对象,那么这个对象的数据成员也会被保存还原,而且会是递归的方式.

以上这篇Java将对象写入文件读出_序列化与反序列化的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:http://www.cnblogs.com/PersistWp/archive/2017/08/16/7375774.html 。

最后此篇关于Java将对象写入文件读出_序列化与反序列化的实例的文章就讲到这里了,如果你想了解更多关于Java将对象写入文件读出_序列化与反序列化的实例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com