ObjectOutputStream defaultWriteObject() in Java

defaultWriteObject(): This method is available in the java.io.ObjectOutputStream class of Java.

Syntax:

void java.io.ObjectOutputStream.defaultWriteObject() throws IOException

This method writes the non-static and non-transient fields of the current class to this stream. This may only be called from the writeObject method of the class being serialized.

Note:

It will throw the NotActiveException if it is called otherwise.

Parameters: NA

Returns: NA

Throws:

IOException - if I/O errors occur while writing to the underlying OutputStream

Approach

Java

package com.ObjectOutputStream;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

public class ObjectOutputStreamdefaultWriteObject {
    public static void main(String[] args) throws IOException {

        FileOutputStream fileStream =
new FileOutputStream("D:\\hello.txt");

        ObjectOutputStream objStream =
new ObjectOutputStream(fileStream);

        objStream.defaultWriteObject();
        System.out.println("Successfully writes
the default object");

        objStream.close();
    }
}

Output:

Exception in thread "main" java.io.NotActiveException: not in call to writeObject at java.base/java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:441) at com.ObjectOutputStream.ObjectOutputStreamdefaultWriteObject.main(ObjectOutputStreamdefaultWriteObject.java:14)


Some more methods of ObjectOutputStream

close()This method must be called to release any resources associated with the stream.

flush()This method flushes the stream.

putFields()This method retrieves the object used to buffer persistent fields to be written to the stream.

reset()The state is reset to be the same as a new ObjectOutputStream.

useProtocolVersion(int)This method specifies the stream protocol version to use when writing the stream.

write(byte[])This method writes an array of bytes. 

write(int)This method writes a byte.

write(byte[], int, int)This method writes a sub array of bytes.

writeBoolean(boolean)This method writes a boolean.

writeByte(int)This method writes an 8-bit byte.

writeBytes(String)This method writes a String as a sequence of bytes.

writeChar(int)This method writes a 16-bit char.

writeChars(String)This method writes a String as a sequence of chars.

writeDouble(double)This method writes a 64-bit double.

writeFields()This method writes the buffered fields to the stream.

writeFloat(float)This method writes a 32-bit float.

writeInt(int)This method writes a 32-bit int.

writeLong(long)This method writes a 64-bit long.

writeObject(Object)This method writes the specified object to the ObjectOutputStream.

writeShort(int)This method writes a 16-bit short.

writeUnshared(Object)This method writes an "unshared" object to the ObjectOutputStream.

writeUTF(String)This method is primitive data are written of this String in modified UTF-8 format.

No comments:

Post a Comment