2014-03-07 59 views
0

我試圖弄清楚如何寫(連載?)對象。 如果我有這樣的代碼在這裏:寫作對象

public class TestObject { 

private String words; 

public void getWords(){ 

    words = "These are some important words."; 

    try{ 
     PrintWriter pw = new PrintWriter("file.txt"); 

     pw.println(words); 

     System.out.println(words); 

    }catch(IOException e){ 
     System.out.println(e); 
    }  
} 

public static void main(String [] args){ 
    TestObject to = new TestObject(); 
    to.getWords(); 
} 

而且想寫從字符串「字」字爲對象我會怎麼做呢? 爲什麼寫入對象有用?

+0

你描述的不是系列化,僅供參考。 – arshajii

+0

你剛剛寫了一個字符串文件。這不是對象序列化。對象序列化,你可以使用帶有底層FileOutputStream的ObjectOutputStream來序列化爲一個文件。對象序列化允許兩個網絡實體之間方便的數據通信。 – anonymous

回答

1

第一類需要實現Serializable接口。然後任何未標記爲瞬態的變量都可以被序列化。只要它本身就是可以串行化的。字符串是,但如果你有另一個你自己的類型的變量,你需要使該序列化也可以標記爲瞬態。

,這樣就可以在網絡上傳送的對象爲在近期的應用我建立了包括一個網站,並且都使用同一個數據庫的應用程序是非常有用的。在這種情況下,應用程序運行在不同的jvm中,並且可以接受並構造從服務器發送給它的對象。

+0

將對象從服務器發送到客戶端時需要意識到的一件事情是,如果僅序列化JDK類類型,它將在客戶端工作,而不費吹灰之力。但是,如果您序列化您自己的對象,客戶端需要您的類定義才能正常工作。想象一下,如果你有很多不同的客戶端連接到你的服務器,這將不是理想的。 – anonymous