2015-03-01 31 views
7

nasıl Serializable arayüzünü implement gerekir?Seri hale getirilebilir nasıl uygulanır?

classStudent var ve diske kaydetmesi gerekiyor. ödevime için, ben beş farklı Student nesneleri seri ve dosyaya kaydetmek gerekir.

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; 

}} 

Ben Student getirilmeye ObjectOutputStream kullanarak denedim ama bir hata atar:

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

Bize neyi denediğinizi göstermelisiniz. StackOverflow, "benim için ödevimi yap" sitesi değildir. –

+0

i kodda hata .xD nerede olduğunu bilmek istiyorum çözmek istemiyorum lol –

cevap

15

yapmanız gereken tek şey Serializable uygulamak olduğunu. Dize bu arabirim zaman endişe tek şey bu tür sınıfın tüm örnekleri/nesne yalnızca seri hale getirilebilir nesneleri içerdiğinden emin kılmaktır. Ancak, String zaten seri hale getirilebilir, bu yüzden sadece Serializable uygulamacıları eklemeniz gerekir. 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; 
    } 
} 
İlgili konular