2017-02-26 60 views
-1

我是新來的java,這只是我的學習代碼。我遇到了問題。我已經派人員到文件的數組,Java objectInputStream返回到java類

try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("person.ser"))) { 
     for (Person person : persons) { 
      oos.writeObject(person); 
     } 
    } catch (IOException ex) { 
     Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex); 
    } 

,現在我想只有兩個人頂回新的Person類陣列(愚蠢的,但我只是想學習如何處理文件)和唐實際上並不知道如何。 我試過這樣的

try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("person.ser"))) 
    { 
     Person[] humans = new Person[2]; 
     humans[0] = new (Person) ois.readObject(); 
     humans[1] = new (Person) ois.readObject(); 

    } 
    catch (IOException ex) { 
     Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex); 
    } 

但它不工作。有人可以幫忙嗎?我認爲這只是一些小錯誤。

+0

定義 「它不工作」,正是。你期望發生什麼,而發生了什麼。如果它拋出一個異常,發佈它的堆棧跟蹤。如果您有編譯錯誤,請發佈完整且準確的錯誤消息(並閱讀它)。提示:'新'用於調用構造函數。 –

+0

我甚至不能編譯它,它說預計 – J1rka

+0

哦,我明白了。它現在沒有「新」的作品。我以爲我必須以某種方式在從文件插入之前創建對象。 – J1rka

回答

0

更換

humans[0] = new (Person) ois.readObject(); 
humans[1] = new (Person) ois.readObject(); 

隨着

humans[0] = (Person) ois.readObject(); 
humans[1] = (Person) ois.readObject();