导航:首页 > 编程语言 > java序列化格式

java序列化格式

发布时间:2021-03-24 21:31:02

A. 什么是java序列化,如何实现java序列化

楼主您好
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

B. java序列化时如何改变文件编码

序列化是转化成2进制的,如果你想改变字符的编码。需要自己实现序列化

C. java怎样序列化文本文件

假设需要序列化的文本文件路径是D:/test.txt 序列化后保存在C:/fi.txt 包含下面代码的类必须实现Serializable 即implements Serializable

File file=new File("D:/test.txt");
File fi=new File("C:/fi.txt");
FileOutputStream fos=new FileOutputStream(fi);
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(file);
oos.flush();
oos.close();
fos.close();

D. 谁知道什么是Java序列化如何实现序列化

序列化是将对象状态转换为可保持或传输的格式的过程。说明白点就是你可以用对象输出流输出到文件.如果不序列化输出的话.很可能会乱!
实现方式是实现java.io.Serializable接口.这个接口不需要实现任何具体方法.只要implements java.io.Serializable 就好了

E. 什么是java序列化,如何实现java序列化

序 列 化: 指把堆内存中的Java对象数据,通过某种方式把对象存储到磁盘文件中或者传递给其他网络的节点(在网络上传输).我们把这个过程称之为序列化.

反序列化:把磁盘文件中的对象数据或者把网络节点上的对象数据,恢复成Java对象的过程.

为什么要做序列化:

1):在分布式系统中,需要共享的数据的JavaBean对象,都得做序列化,此时需要把对象再网络上传输,此时就得把对象数据转换为二进制形式.以后存储在HttpSession中的对象,都应该实现序列化接口(只有实现序列化接口的类,才能做序列化操作).

2):服务钝化:如果服务发现某些对象好久都没有活动了,此时服务器就会把这些内存中的对象,持久化在本地磁盘文件中(Java对象-->二进制文件).如果某些对象需要活动的时候,现在内存中去寻找,找到就使用,找不到再去磁盘文件中,反序列化我们得对象数据,恢复成Java对象.

需要做序列化的对象的类,必须实现序列化接口:java.io.Serializable接口(标志接口[没有抽象方法]).

底层会判断,如果当前对象是Serializable的实例,才允许做序列化. boolean ret = Java对象 instanceof Serializable;

在Java中大多数类都已经实现Serializable接口.


F. java中的序列化是什么意思

  1. 序列化是将对象状态转换为可保持或传输的格式的过程。说白点就是你可以用内对象输出流输出到文件容。如果不序列化输出的话,很可能会乱。

  2. java中的序列化机制能够将一个实例对象(只序列化对象的属性值,而不会去序列化什么所谓的方法。)的状态信息写入到一个字节流中使其可以通过socket进行传输、或者持久化到存储数据库或文件系统中;然后在需要的时候通过字节流中的信息来重构一个相同的对象。

  3. 一般而言,要使得一个类可以序列化,只需简单实现java.io.Serializable接口即可。

G. 关于java序列化

若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生S treamCorruptedException?

答:使用缺省的serializetion的实现时,一个ObjectOutputStream的构造和一个ObjectInputStream的构造必须一一对应。O bjectOutputStream的构造函数会向输出流中写入一个标识头,而ObjectInputStream会首先读入这个标识头。因此,多次以追加方式向一个文件 中写入object时,该文件将会包含多个标识头。所以用ObjectInputStream来deserialize这个ObjectOutputStream时,将产 生StreamCorruptedException。

一种解决方法是可以构造一个ObjectOutputStream的子类,并覆盖writeStreamHeader()方法。被覆盖后的writeStreamHea der()方法应判断是否为首次向文件中写入object?若是,则调用super.writeStreamHeader();若否,即以追加方式写入object时,则 应调用ObjectOutputStream.reset()方法

H. java 可序列化类型都有哪些

API中找到Serializable的子接口的实现类就可以知道了;
AdapterActivator, Attribute, Attribute, Attributes, BindingIterator, ClientRequestInfo, ClientRequestInterceptor, Codec, CodecFactory, Control, Current, Current, Current, CustomValue, DataInputStream, DataOutputStream, Descriptor, DHPrivateKey, DHPublicKey, DocAttribute, DomainManager, DSAPrivateKey, DSAPublicKey, DynAny, DynAnyFactory, DynArray, DynEnum, DynFixed, DynSequence, DynStruct, DynUnion, DynValue, DynValueBox, DynValueCommon, ECPrivateKey, ECPublicKey, ExtendedRequest, ExtendedResponse, Externalizable, IdAssignmentPolicy, IDLEntity, IDLType, IdUniquenessPolicy, ImplicitActivationPolicy, Interceptor, IORInfo, IORInterceptor, IORInterceptor_3_0, IRObject, Key, LifespanPolicy, Name, NamingContext, NamingContextExt, NotificationFilter, ObjectReferenceFactory, ObjectReferenceTemplate, ORBInitializer, ORBInitInfo, PBEKey, POA, POAManager, Policy, PolicyFactory, PrintJobAttribute, PrintRequestAttribute, PrintServiceAttribute, PrivateKey, PublicKey, QueryExp, RelationType, RemoteRef, RequestInfo, RequestProcessingPolicy, RSAMultiPrimePrivateCrtKey, RSAPrivateCrtKey, RSAPrivateKey, RSAPublicKey, RunTime, SecretKey, ServantActivator, ServantLocator, ServantManager, ServantRetentionPolicy, ServerRef, ServerRequestInfo, ServerRequestInterceptor, StreamableValue, SupportedValuesAttribute, ThreadPolicy, UnsolicitedNotification, ValueBase, ValueExp

--------------------------------------------------------------------------------

I. java对象序列化文件格式转换

1 - 最好用java转

2 - 需要用到那个java对象的类,并且要确保你用的类跟当时写序列化文件的时候的类是同一个版本

3 - 用 ObjectInputStream 读入对象

4 - 对象最好符合 java bean 规范,即对于每一个成员变量 member,有 getMember 和 setMember 方法

5 - 可以用 jaxb 把对象信息写入指定的 XML 文件,或者也可以根据需要自己生成xml文本然后输出

-----

不会java的话,需要学习基本 IO 类的使用,try-catch 语法,如果用jaxb的话最好能在网上找到例子照葫芦画瓢,如果自己生成xml文本的话要学会用 StringBuilder ,还要知道怎么把一些常见的值比如 java.util.Date 等转换成自己想要的格式的 String 等等……

阅读全文

与java序列化格式相关的资料

热点内容
苹果7玩阴阳师卡 浏览:689
怎样查手机网络制式 浏览:317
酒店房间管理java课程设计 浏览:831
安卓手机跟本田车互联要下什么app 浏览:281
sns24app怎么下载 浏览:544
本地文件下载在哪里 浏览:400
qq相册转载照片频繁 浏览:558
如何提升网站的运行速度 浏览:389
图片压缩完的文件还是很大 浏览:372
js获取divclass 浏览:556
滴滴app共享单车软件怎么注册 浏览:976
怎么把word文件用a4纸打印 浏览:533
win10禁用驱动数字签名验证 浏览:313
海湾编程通配符怎么输入 浏览:841
苹果6mg4j2zpa是什么 浏览:186
wordpress安装不了 浏览:901
电脑版微信文件打不开 浏览:215
怎么根据图片输出数据 浏览:39
苹果六home键排线断了能换吗 浏览:884
k宝密码是什么时候设置的 浏览:529

友情链接