Java Serialization (Serileştirme) Nedir?

advertisement
Java Serialization (Serile?tirme) Nedir? - 11-08-2015
by Burak - Burak Kutbay'?n Ki?isel Blog'u | - http://blog.burakkutbay.com
Java Serialization (Serile?tirme) Nedir?
by Burak - Pazar, Kas?m 08, 2015
http://blog.burakkutbay.com/java-serialization-serilestirme-nedir.html/
Bu yaz?da Java Serialization, yani serile?tirme konusundan bahsedece?im.
Java bilindi?i üzere nesneye dayal? bir dil. Neredeyse her ?ey nesne. Nesneleri kullan?rken bir defa de?il
istenilen zamanda ve yerde tekrar, tekrar ve tekrar kullanabilmemiz gerekebiliyor. Bu noktada ise bizim
"serile?tirme" dedi?imiz yap? devreye giriyor.
Yukar?daki cümlede kal?n olarak belirtti?im "istenilen yerde" cümlesine dikkatinizi çekmek istiyorum.
De?i?kenlere ait de?erleri bir dosyaya kaydetdi?inizi dü?ünün. Tekrar kullanmak istedi?inizde bu
de?erlerin ne ve hangi tipte oldu?unu bilemeyiz. Nesnelerimizin içinde bulunan de?erler ve ve veri tipleri
ile birlikte saklayabiliyoruz. Bu güzel yöntem "Java Serile?tirme" sayesinde olmaktad?r.
Nesnelerin içerisindeki de?i?kenlerin adlar?, tipleri de?eleri byte'lara çevrilerek kaydedilir ve bu dosyay?
nereye götürürsek götürelim JVM bu de?erleri bir kay?p olmadan okuyup kullanabiliriz. Serile?tirme
i?lemi için Java'n?n Serializable s?n?f?n? kullan?yoruz.
Serile?tirmeyi bir örnek yaparak peki?tirelim. Ki?i bilgilerinin kaydedildi?i bir s?n?f?m?z olucak bu
bilgileri bir dosyaya kaydedip tekrar okuyaca??z ve ki?i bilgilerinin de?erlerinde ve tiplerinde bir
farkl?l?k olmad???n? kaydederken nas?lsa öyle kald???n? görece?iz.
import java.io.Serializable;
public class Kisi implements Serializable {
private String ad;
private String soyad;
//
public Kisi(){ }
public Kisi(String ad, String soyad){
this.ad = ad;
this.soyad = soyad;
}
public String getAd() {
returnad;
}
publicvoid setAd(String ad) {
this.ad = ad;
}
public String getSoyad() {
returnsoyad;
}
1/3
Java Serialization (Serile?tirme) Nedir? - 11-08-2015
by Burak - Burak Kutbay'?n Ki?isel Blog'u | - http://blog.burakkutbay.com
publicvoid setSoyad(String soyad) {
this.soyad = soyad;
}
public String toString(){
return "Ad : " + this.ad + "\nSoyad : " + this.soyad;
}
}
?imdi ise ki?i bilgilerini dosyaya kaydedelim.
public static void Yaz(){
try{
Kisi kisi = new Kisi("Burak", "Kutbay");
FileOutputStream dosya = new FileOutputStream("C:\\m
etin.txt");
ObjectOutputStream yaz = new ObjectOutputStream(dosy
a);
yaz.writeObject(kisi);
yaz.close();
}
catch(Exception e){
System.out.println(e.getMessages());
}
}
metin.txt dosyas?na bu bilgileri kaydettik. ?imdi bu dosyadan kaydetti?imiz verileri okuyaca??z.
public static void Oku(){
try{
FileInputStream dosya = new FileInputStream("C:\\met
in.txt");
ObjectInputStream oku = new ObjectInputStream(dosya)
;
Kisi kisi = (Kisi)oku.readObject();
System.out.println(kisi.toString());
oku.close();
}
catch(Exception e){
System.out.println(e.hetMessages());
}
}
2/3
Java Serialization (Serile?tirme) Nedir? - 11-08-2015
by Burak - Burak Kutbay'?n Ki?isel Blog'u | - http://blog.burakkutbay.com
Dosyadaki bilgileri okuduk. Sonuç ise;
Ad: Burak Soyad: Kutbay
?eklinde oldu.
Serile?tirme i?lemi sayesinde dosyadaki verilerin tipleri korundu?u için JVM bunu anlayarak ba?ka bir
i?lem yapmadan gerekli olan de?erleri de?i?kenlerine atad? ve sonucu bu Ad, Soyad ?eklinde gösterdi.
Bol kodlu günler.
_______________________________________________
PDF generated by Kalin's PDF Creation Station
3/3
Powered by TCPDF (www.tcpdf.org)
Download