1. ObjectStream
使用ObjectStream可以直接传递一个对象,例如:
FileOutputStream fos = new FileOutputStream("D:\\My programs\\JAVA\\first application\\src\\com\\sxtscience\\msb\\io\\TestObjectStream.txt"); ObjectOutputStream oos = new ObjectOutputStream(fos); Student s = new Student();
oos.writeObject(s);
使用之前必须Student类必须实现Serializable接口,Serializable是一个标记接口,没有方法只是起到标记的作用,标记此类为可串行化的。
在类中可以把成员变量声明为transient,即透明。如果把一个元素标记为透明
class Student implements Serializable { /** * */ private static final long serialVersionUID = 1L; String name = "Zeko"; int age = 20; transient char sex = 'M'; //标记为transient那么在保存是不予保存 public String toString() { return "[name: " + name + " age: " + age + " sex: " + sex + "]"; } }
那么在使用oos.writeObject(s);的时候不会吧这个参数传递到文件中
但是在new一个Student类的时候,新建的对象还是拥有这个参数的
Student s = new Student(); System.out.println(s);
这两句依然可以把所有的元素输出。