ObjectInputStream类readFields()方法 (ObjectInputStream Class readFields() method)
readFields() method is available in java.io package.
readFields()方法在java.io包中可用。
readFields() method is used to read the permanent fields from this ObjectInputStream make them ready to access by name.
readFields()方法用于从此ObjectInputStream读取永久字段,以使其可以按名称访问。
readFields() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
readFields()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
readFields() method may throw an exception at the time of reading fields.
readFields()方法在读取字段时可能会引发异常。
- IOException: This exception may throw when getting any input/output error while performing.IOException :在执行过程中遇到任何输入/输出错误时,可能引发此异常。
- ClassNotFoundException: This exception may throw when the Class serialized objects couldn't exist.ClassNotFoundException :当Class序列化的对象不存在时,可能会引发此异常。
- NotActiveException: This exception may throw when the stream is not active to read objects.NotActiveException :当流不活动以读取对象时,可能会抛出此异常。
Syntax:
句法:
public ObjectInputStream.GetField readFields();
Parameter(s):
参数:
It does not accept any parameter.
它不接受任何参数。
Return value:
返回值:
The return type of the method is ObjectInputStream.GetField, it returns the GetField object that denotes the permanent fields of the object being not serialized.
方法的返回类型为ObjectInputStream.GetField ,它返回GetField对象,该对象表示未序列化的对象的永久字段。
Example:
例:
// Java program to demonstrate the example
// of ObjectInputStream.GetField readFields()
// method of ObjectInputStream
import java.io.*;
public class ReadFieldsOfOIS {
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.readObject(): " + rf.str);
}
static class ReadFields implements Serializable {
String str = "Java Programming";
private String readObject(ObjectInputStream ois)
throws IOException, ClassNotFoundException {
// Invokes readFields()
ObjectInputStream.GetField get_f = ois.readFields();
// Return fields
return (String) get_f.get("str", null);
}
}
}
Output
输出量
obj_in_stm.readObject(): Java Programming
翻译自: https://www.includehelp.com/java/objectinputstream-readfields-method-with-example.aspx