Java ObjectOutputStream
精华
小牛编辑
119浏览
2023-03-14
1 什么是Java ObjectOutputStream
java.io.ObjectOutputStream:对象的序列化流,作用:把对象转成字节数据的输出到文件中保存,对象的输出过程称为序列化,可实现对象的持久存储。
2 Java ObjectOutputStream的语法
public class ObjectOutputStream
extends OutputStream
implements ObjectOutput, ObjectStreamConstants
3 Java ObjectOutputStream构造方法
构造方法 | 描述 |
---|---|
protected ObjectOutputStream() | 这提供了一种方法,子类是完全重新实现ObjectOutputStream不必分配仅由这个实现ObjectOutputStream的私有数据。 |
ObjectOutputStream(OutputStream out) | 这将创建一个指定的OutputStream写入到一个ObjectOutputStream。 |
4 Java ObjectOutputStream的方法
方法 | 描述 |
---|---|
protected void annotateClass(Class <?> cl) | 子类可以实现此方法,以允许将类数据存储在流中。 |
protected void annotateProxyClass(Class<?> cl) | 子类可以实现此方法来存储自定义数据的描述符动态代理类的流中。 |
void close() | 此方法关闭流。 |
void defaultWriteObject() | 此方法将当前类的非静态和非瞬态字段写入此流。 |
protected void drain() | 此方法用于清除ObjectOutputStream中所有缓冲的数据。 |
protected boolean enableReplaceObject(boolean enable) | 此方法使流执行流中的替换对象。 |
void flush() | 此方法刷新流。 |
ObjectOutputStream.PutField putFields() | 此方法检索用于缓冲持久性字段被写入流的对象。 |
protected Object replaceObject(Object obj) | 此方法允许ObjectOutputStream的受信任子类的序列化过程中一个对象替代另一个。 |
void reset() | 此方法复位将忽略已经写入流中的任何对象的状态。 |
void useProtocolVersion(int version) | 将数据写入流时,此方法指定流协议版本才能使用。 |
void write(byte[] buf) | 此方法写入字节数组。 |
void write(byte[] buf, int off, int len) | 此方法写入字节的子数组。 |
void write(int val) | 此方法写入一个字节。 |
void writeBoolean(boolean val) | 此方法写一个布尔值。 |
void writeByte(int val) | 此方法写入一个8位字节。 |
void writeBytes(String str) | 此方法写入一个String作为一个字节序列。 |
void writeChar(int val) | 此方法写入一个16位字符。 |
void writeChars(String str) | 此方法写入一个字符串作为字符的序列。 |
protected void writeClassDescriptor(ObjectStreamClass desc) | 此方法写入指定的类描述符的对象输出流。 |
void writeDouble(double val) | 此方法写入64位double。 |
void writeFields() | 此方法将缓冲的字段写入流。 |
void writeFloat(float val) | 此方法写入32位浮点数。 |
void writeInt(int val) | 此方法写入32位int。 |
void writeLong(long val) | 此方法写入64位long。 |
void writeObject(Object obj) | 此方法将指定的对象写入ObjectOutputStream。 |
protected void writeObjectOverride(Object obj) | 子类使用此方法来覆盖默认的writeObject方法。 |
void writeShort(int val) | 此方法写一个16位的short。 |
protected void writeStreamHeader() | 提供此方法,所以子类可以追加或预先准备自己的头流。 |
void writeUnshared(Object obj) | 此方法写入了“非共享”对象到对象输出流。 |