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
*/