首先大家進來第一個疑問肯定是“什麼是序列化?為什麼要使用序列化?怎麼實作一個簡單的序列化案例?”
1.序列化就是把對象以一種規範的二進制形式存在記憶體中,另一邊以反序列化方式擷取;
2那麼為什麼要使用序列化呢?不使用序列化的話,就沒有一個規範,你就算存儲了資料,别人也不知道以哪種規範去擷取;是以序列化就是一種大家都認同的規範了;
3.接下來我們實作一個簡單的序列化案例,隻要會寫“Hello World!!!”的人都可以實作這個案例!!!
1.首先建一個普通的java項目:

3.随便建一個java類;
複制下面的即可,看好了。這個類是實作了序列化的接口的
public class Demo01 implements Serializable{
public byte version = 100;
public byte count = 0;
private String name ;
@Override
public String toString() {
return "Dome01 [version=" + version + ", count=" + count + ", name=" + name + "]";
}
public byte getVersion() {
return version;
}
public void setVersion(byte version) {
this.version = version;
}
public byte getCount() {
return count;
}
public void setCount(byte count) {
this.count = count;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
4.繼續建立一個類,寫個main方法
複制即可,
public class Demo02 {
public static void main(String args[]) throws IOException {
//建立一個檔案輸出流,指定一個路徑
FileOutputStream fos = new FileOutputStream("F:/temp.out");
ObjectOutputStream oos = new ObjectOutputStream(fos);
Demo01 ts = new Demo01();
//随意設定幾個值,友善測試
ts.setName("test2");
//輸出,重新整理,關流
oos.writeObject(ts);
oos.flush();
oos.close();
}
}
5.編寫測試類,測試即可;測試步驟自行發揮!!!!!
public class Demo03 {
public static void main(String args[]) throws Exception {
//擷取檔案輸入流,就是你剛剛指定的檔案
FileInputStream fis = new FileInputStream("F:/temp.out");
ObjectInputStream oin = new ObjectInputStream(fis);
Dome01 ts = (Dome01)oin.readObject();
//擷取列印即可
System.out.println("version="+ts.version+ts.getName());
if(oin!=null){
oin.close();
}
}
}
6.是不是很簡單,是不是不用想,案例就出來了!!!!還是需要自己都思考思考!!!