JAVAPRO_IR Telegram 4437
🚀 آموزش Serialization در جاوا

🔹 در واقع Serialization فرایندی است که در آن یک شیء (Object) به یک جریان بایت (Byte Stream) تبدیل می‌شود تا بتوان آن را:

* در یک فایل ذخیره کرد 🗂️
* از طریق شبکه ارسال کرد 🌐

🔹و Deserialization عکس این فرایند است؛ یعنی تبدیل جریان بایت به شیء.


پیاده‌سازی Serialization

برای Serializable کردن یک کلاس، کافیست کلاس را از `Serializable` پیاده‌سازی کنیم:


import java.io.*;

// کلاس مدل دانشجو
class Student implements Serializable {
private String name;
private int age;

// سازنده
public Student(String name, int age) {
this.name = name;
this.age = age;
}

// متد برای چاپ اطلاعات
public void display() {
System.out.println("Name: " + name + ", Age: " + age);
}
}

public class Main {
public static void main(String[] args) {
// شیء برای ذخیره
Student s1 = new Student("Ali", 22);

// Serialization: ذخیره در فایل
try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("student.ser"))) {
out.writeObject(s1);
System.out.println(" Object serialized successfully!");
} catch (IOException e) {
e.printStackTrace();
}

// Deserialization: خواندن از فایل
try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("student.ser"))) {
Student s2 = (Student) in.readObject();
System.out.println(" Object deserialized successfully!");
s2.display();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}



🔎 نکات مهم:

1. برای Serialization نیازی به تعریف متد خاصی نداریم، فقط باید کلاس `implements Serializable` باشد.
2. اگر بخواهیم یک فیلد ذخیره نشود، از `transient` استفاده می‌کنیم.
3. فایل خروجی معمولا پسوند .ser دارد، ولی اجباری نیست.


💡 کاربرد واقعی:

* ذخیره وضعیت یک برنامه (مثلا Session)
* ارسال اشیاء بین کلاینت و سرور در شبکه

#کاربرـحرفهـای


🆔 @javapro_ir
🆔 @group_javapro
👍71



tgoop.com/javapro_ir/4437
Create:
Last Update:

🚀 آموزش Serialization در جاوا

🔹 در واقع Serialization فرایندی است که در آن یک شیء (Object) به یک جریان بایت (Byte Stream) تبدیل می‌شود تا بتوان آن را:

* در یک فایل ذخیره کرد 🗂️
* از طریق شبکه ارسال کرد 🌐

🔹و Deserialization عکس این فرایند است؛ یعنی تبدیل جریان بایت به شیء.


پیاده‌سازی Serialization

برای Serializable کردن یک کلاس، کافیست کلاس را از `Serializable` پیاده‌سازی کنیم:


import java.io.*;

// کلاس مدل دانشجو
class Student implements Serializable {
private String name;
private int age;

// سازنده
public Student(String name, int age) {
this.name = name;
this.age = age;
}

// متد برای چاپ اطلاعات
public void display() {
System.out.println("Name: " + name + ", Age: " + age);
}
}

public class Main {
public static void main(String[] args) {
// شیء برای ذخیره
Student s1 = new Student("Ali", 22);

// Serialization: ذخیره در فایل
try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("student.ser"))) {
out.writeObject(s1);
System.out.println(" Object serialized successfully!");
} catch (IOException e) {
e.printStackTrace();
}

// Deserialization: خواندن از فایل
try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("student.ser"))) {
Student s2 = (Student) in.readObject();
System.out.println(" Object deserialized successfully!");
s2.display();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}



🔎 نکات مهم:

1. برای Serialization نیازی به تعریف متد خاصی نداریم، فقط باید کلاس `implements Serializable` باشد.
2. اگر بخواهیم یک فیلد ذخیره نشود، از `transient` استفاده می‌کنیم.
3. فایل خروجی معمولا پسوند .ser دارد، ولی اجباری نیست.


💡 کاربرد واقعی:

* ذخیره وضعیت یک برنامه (مثلا Session)
* ارسال اشیاء بین کلاینت و سرور در شبکه

#کاربرـحرفهـای


🆔 @javapro_ir
🆔 @group_javapro

BY برنامه نویسی جاوا | Java


Share with your friend now:
tgoop.com/javapro_ir/4437

View MORE
Open in Telegram


Telegram News

Date: |

The optimal dimension of the avatar on Telegram is 512px by 512px, and it’s recommended to use PNG format to deliver an unpixelated avatar. During a meeting with the president of the Supreme Electoral Court (TSE) on June 6, Telegram's Vice President Ilya Perekopsky announced the initiatives. According to the executive, Brazil is the first country in the world where Telegram is introducing the features, which could be expanded to other countries facing threats to democracy through the dissemination of false content. ‘Ban’ on Telegram The SUCK Channel on Telegram, with a message saying some content has been removed by the police. Photo: Telegram screenshot. The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday.
from us


Telegram برنامه نویسی جاوا | Java
FROM American