2015-03-01 16 views
7

Làm cách nào để tôi implement giao diện Serializable?Cách triển khai Serializable?

Tôi có classStudent và cần lưu nó vào đĩa. Đối với bài tập về nhà của tôi, tôi phải tuần tự hóa năm đối tượng khác nhau Student và lưu chúng vào tệp.

class Student { 
    String mFirstName; 
    String mSecondName; 
    String mPhoneNumber; 
    String mAddress; 
    String mCity; 

Student(final String pFirstName, final String pSecondName, final String pPhoneNumber, final String pAddress, final String pCity){ 
    this.mFirstName = pFirstName; 
    this.mSecondName = pSecondName; 
    this.mPhoneNumber = pPhoneNumber; 
    this.mAddress = pAddress; 
    this.mCity = pCity; 

}} 

Tôi đã cố gắng sử dụng ObjectOutputStream để serialize một Student, nhưng nó ném một lỗi:

ObjectOutputStream lOutputStream = new ObjectOutputStream(new FileOutputStream("file.txt", true)); 
lOutputStream.write(new Student("foo","bar","555-1234","Flat 40","Liverpool")); 
+0

Bạn phải cho chúng tôi biết những gì bạn đã thử. StackOverflow không phải là trang web "làm bài tập về nhà của tôi cho tôi". –

+0

tôi không muốn giải quyết tôi muốn biết nơi có lỗi trong mã .xd lol –

Trả lời

15

Điều duy nhất bạn cần làm là thực hiện Serializable. Chuỗi điều duy nhất phải lo lắng khi bạn thực hiện giao diện này là để đảm bảo rằng tất cả các cá thể của lớp/đối tượng đó chỉ chứa các đối tượng có thể tuần tự. Tuy nhiên, String đã được serializable vì vậy bạn chỉ cần thêm thực hiện Serializable. http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html

public class Student implements Serializable { 
    String first; 
    String second; 
    String phone; 
    String cityAddress; 
    String cityStreet; 

    public Student(String s1, String s2, String s3, String s4, String s5) { 
     first = s1; 
     second = s2; 
     phone = s3; 
     cityAddress = s4; 
     cityStreet = s5; 
    } 
} 
Các vấn đề liên quan