在c中我可以简单地做一些像fwrite(file,& object,(sizeof object));保存对象中的所有动词。有没有办法在java中执行此操作?
答案 0 :(得分:1)
是的,您可以使用序列化或外部化在Java中保存对象的状态。
答案 1 :(得分:1)
让您的类实现Serializable
接口,然后您可以使用ObjectOutputStream
序列化对象:
public class Person implements Serializable {
public String name = "";
public int age = 0;
}
序列化:
Person p = new Person();
p.name = "Foobar";
p.age = 42;
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("C:/test.txt"));
oos.writeObject(p);
oos.close();
反序列化:
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("C:/test.txt"));
Person p = (Person)ois.readObject();
System.out.println(p.name + " is " + p.age + " years of age.");
ois.close();