JAVA(2)-Seerializable-読み書き

1590 ワード

シーケンス化された読み書きディスクの詳細はたくさんあります.前の最も簡単な例.1.シーケンス化されたクラスはimplementsである Serializable 2.シーケンス化に関与しないものはtransient 3.インタフェース用extends例えばpublic interface Strategy extends Serializableは以上の3点が基本的に十分であることを知っている.
public class SerializeTest {


    private Assert Assertions;

    @Test
    public void testwrite() {
        try {
            T t = new T();
            File f = new File("/Users/Desktop/java/ideaPrj/a.dat");
            FileOutputStream fos = new FileOutputStream(f);
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(t);
            oos.flush();
            oos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Test
    public void testload() {
        try {
            File f = new File("/Users/Desktop/java/ideaPrj/a.dat");
            FileInputStream fis = new FileInputStream(f);
            ObjectInputStream ois = new ObjectInputStream(fis);
            T t = (T) (ois.readObject());
            System.out.println(t.m + "  " + t.n);
           //  Assertions.assertEquals(4,t.m);
             //Assertions.assertEquals(8,t.n);
            //Assertions.assertEquals(3,t.a.weight);
            ois.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
class T implements Serializable {
     int m = 4;
     int n=8;
  //   transient int n = 8;//      
 //   Apple a =new Apple();

}

class Apple implements  Serializable
{
    int weight =3;
}
/*
public interface Strategy extends Serializable
*/