Java ObjectOutputStream writeFields () Método con el Ejemplo

ObjectOutputStream class writeFields () método : Aquí, vamos a aprender acerca de los writeFields () de ObjectOutputStream Class con su sintaxis y su ejemplo.

ObjectOutputStream Class writeFields () método

    método

  • writeFields () está disponible en java.io Class.
  • writeFields () método se utiliza para escribir los campos amortiguada con el ObjectOutputStream.
  • writeFields () método es un método no class, es accesible sólo con el objeto package y si tratamos de acceder al método con el nombre static entonces obtendrá un error.
  • método writeFields () puede class una excepción en el momento de la escritura campos.

    • IOException : Esta excepción puede class al conseguir cualquier error de entrada / salida al escribir en el flujo de salida.
    • NotActiveException : Esta excepción puede throw cuando writeObject () no fue invocada para escribir el estado del objeto de las clases.

Sintaxis:

    public void writeFields();

Parámetro (s):

  • No acepta cualquier parámetro.

throw valor:

El tipo throw del método es Return , no devuelve nada.

Ejemplo:

// Java program to demonstrate the example 
// of void writeFields() method of ObjectOutputStream
import java.io.*;
public class WriteFieldsOfOOS {
public static void main(String[] args) throws Exception {
// Instantiates ObjectOutputStream , ObjectInputStream
// FileInputStream and FileOutputStream
FileOutputStream file_out_stm = new FileOutputStream("D:includehelp.txt");
ObjectOutputStream obj_out_stm = new ObjectOutputStream(file_out_stm);
FileInputStream file_in_stm = new FileInputStream("D:includehelp.txt");
ObjectInputStream obj_in_stm = new ObjectInputStream(file_in_stm);
// By using writeInt() method is to write
// integer to the obj_out_stm stream
obj_out_stm.writeObject(new ReadFields());
obj_out_stm.flush();
// By using readObject() method is to read
// object and display fields
ReadFields rf = (ReadFields) obj_in_stm.readObject();
System.out.println("obj_in_stm.writeFields(): " + rf.val);
}
static public class ReadFields implements Serializable {
static int val = 12685;
private static final ObjectStreamField[] serialPersistentFields = {
new ObjectStreamField("val", Integer.TYPE)
};
private void readObject(ObjectInputStream oin)
throws IOException, ClassNotFoundException {
// Invokes readFields()
ObjectInputStream.GetField fi = oin.readFields();
// By using get() is to get var
val = fi.get("val", 0);
}
private void writeObject(ObjectOutputStream oos) throws IOException {
// By using putFields() method is to
// write var into ObjectStreamField[]
ObjectOutputStream.PutField fi = oos.putFields();
fi.put("val", val);
// Invokes writeFields()
oos.writeFields();
}
}
}

salida

obj_in_stm.writeFields(): 12685


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *