Làm thế nào để tuần tự hóa một đối tượng trong Java: 8 bước (với Hình ảnh)

Mục lục:

Làm thế nào để tuần tự hóa một đối tượng trong Java: 8 bước (với Hình ảnh)
Làm thế nào để tuần tự hóa một đối tượng trong Java: 8 bước (với Hình ảnh)

Video: Làm thế nào để tuần tự hóa một đối tượng trong Java: 8 bước (với Hình ảnh)

Video: Làm thế nào để tuần tự hóa một đối tượng trong Java: 8 bước (với Hình ảnh)
Video: Hướng dẫn Inkscape - Bài 4: Ghép các đối tượng đồ họa 2024, Tháng tư
Anonim

Khi bạn tuần tự hóa một đối tượng trong Java, bạn chuyển đổi dữ liệu thành các luồng byte, sau đó chuyển đổi lại thành bản sao của dữ liệu gốc. Nếu điều này nghe có vẻ khó hiểu, hãy nghĩ đến tuần tự hóa trong các thuật ngữ sau. Bạn đang làm việc trên một tài liệu và sau đó lưu nó vào ổ cứng của bạn. Nói cách khác, bạn đang tuần tự hóa dữ liệu để bạn có thể truy xuất bản sao đó sau này. Tuần tự hóa giúp việc truyền dữ liệu trên mạng dễ dàng và hiệu quả hơn nhiều.

Điều quan trọng là bạn phải hiểu những điều cơ bản về Java trước khi tuần tự hóa một đối tượng. Nếu bạn đã sử dụng các ngôn ngữ lập trình như Pascal và các phiên bản C cũ hơn, bạn sẽ biết rằng nếu không có tuần tự hóa đối tượng, lập trình viên phải tạo một tệp văn bản I / O riêng biệt để lưu trữ và tải dữ liệu. Tuần tự hóa đối tượng trong Java bỏ qua việc tạo tệp văn bản này để lưu trữ dữ liệu, tiết kiệm thời gian và chi phí lập trình. Bài viết sau đây bao gồm các bước để tuần tự hóa một đối tượng trong Java. Mã mẫu trong bài viết này được sử dụng với sự cho phép của The Java Developers Almanac 1.4.

Các bước

Tuần tự hóa một đối tượng trong Java Bước 1
Tuần tự hóa một đối tượng trong Java Bước 1

Bước 1. Mở đối tượng mã hóa Java yêu cầu tuần tự hóa hoặc tạo một đối tượng từ đầu

Tuần tự hóa một đối tượng trong Java Bước 2
Tuần tự hóa một đối tượng trong Java Bước 2

Bước 2. Chọn đối tượng trong Java mà bạn muốn tuần tự hóa

Trong ví dụ này, chúng tôi sẽ gọi đối tượng đó là “MyObject”.

Tuần tự hóa một đối tượng trong Java Bước 3
Tuần tự hóa một đối tượng trong Java Bước 3

Bước 3. Kích hoạt tuần tự hóa đối tượng trong Java bằng cách tạo lớp MyObject để triển khai giao diện java.io. Serialize

Chỉ cần thêm dòng mã sau vào đầu mã, thay thế dòng "public class MyObject". Lớp công khai MyObject triển khai java.io. Serializable

Tuần tự hóa một đối tượng trong Java Bước 4
Tuần tự hóa một đối tượng trong Java Bước 4

Bước 4. Bây giờ đối tượng của bạn có thể tuần tự hóa, có nghĩa là nó có thể được viết bởi một luồng đầu ra, như thế này:

  • Các dòng mã sau minh họa cách ghi MyObject (hoặc bất kỳ đối tượng có thể tuần tự hóa nào) vào tệp hoặc đĩa.

    cố gắng{

    // Tuần tự hóa đối tượng dữ liệu thành một tệp

    ObjectOutputStream out = new ObjectOutputStream (new FileOutputStream ("MyObject.ser"));

    out.writeObject (đối tượng);

    out.close ();

    // Tuần tự hóa đối tượng dữ liệu thành một mảng byte

    ByteArrayOutputStream bos = new ByteArrayOutputStream ();

    out = new ObjectOutputStream (bos);

    out.writeObject (đối tượng);

    out.close ();

    // Lấy các byte của đối tượng tuần tự hóa

    byte buf = bos.toByteArray ();

    } catch (IOException e) {

    }

Tuần tự hóa một đối tượng trong Java Bước 5
Tuần tự hóa một đối tượng trong Java Bước 5

Bước 5. Nó có thể được đọc như thế này:

thử {FileInputStream door = new FileInputStream ("name_of_file.sav"); ObjectInputStream reader = new ObjectInputStream (cửa); MyObject x = new MyObject (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

Tuần tự hóa một đối tượng trong Java Bước 6
Tuần tự hóa một đối tượng trong Java Bước 6
Tuần tự hóa một đối tượng trong Java Bước 7
Tuần tự hóa một đối tượng trong Java Bước 7

Bước 6. Thực thi mã đối tượng tuần tự hóa trong chương trình Java để đảm bảo rằng nó hoạt động hiệu quả (tùy chọn)

Chạy tệp Java. Jar Bước 9
Chạy tệp Java. Jar Bước 9

Bước 7. Lưu và đóng đối tượng tuần tự hóa trong Java

Lời khuyên

  • Các cải tiến tuần tự hóa trong Bộ phát triển Java SE 6 cho phép bạn sử dụng ObjectStreamClass tra cứu bất kỳ phương pháp nào để xử lý bất kỳ đối tượng lớp không thể tuần tự hóa nào.
  • Để cải thiện thời gian đọc và ghi trong cây đối tượng lớn, hãy sử dụng từ khóa "tạm thời" cho các biến ví dụ không yêu cầu tuần tự hóa. Điều này sẽ làm tăng hiệu suất mà bạn không còn đọc và ghi dữ liệu không cần thiết vào quá trình tuần tự hóa.

Cảnh báo

  • Java ra mắt phiên bản mới của bộ công cụ dành cho nhà phát triển của họ gần như hàng năm. Các phiên bản mới bao gồm các nâng cấp và thay đổi về cách bạn có thể tuần tự hóa một Đối tượng trong Java. Do đó, điều quan trọng là phải theo dõi những thay đổi trong phiên bản bạn đang sử dụng.
  • Khi tuần tự hóa các đối tượng, bạn không thể mã hóa các luồng dữ liệu. Do đó, bạn sẽ cần dựa vào các ứng dụng khác hoặc các quy trình truyền tải mạng thứ cấp để bảo vệ dữ liệu, nếu cần.
  • Hiện tại không có tùy chọn nào cho phép bạn ghi các đối tượng vào một tệp truy cập ngẫu nhiên. Thay vào đó, bạn có thể sử dụng các luồng đầu vào của Mảng Byte làm trình giữ chỗ để đọc và ghi các đối tượng. Tuy nhiên, hãy chắc chắn rằng toàn bộ đối tượng nằm trong dòng Byte Array nếu không quá trình này sẽ không thành công.

Đề xuất: