從技術上講,你會使用反序列化來存儲文件數據爲對象。演習是認識到通過實現你的類下面的方法,你可以實現對象的自定義序列化/反序列化的點:
private void writeObject(java.io.ObjectOutputStream stream)
throws IOException;
private void readObject(java.io.ObjectInputStream stream)
throws IOException, ClassNotFoundException;
你的具體情況,你會被實施readObject
方法,從閱讀逗號分隔值文件,並用獲得的值填充對象的實例。喜歡的東西:
class Order implements Serializable {
private static final long serialVersionUID = -6730370200519884700L;
// Instance variables, Constructors, Getters/Setters
private void readObject(ObjectInputStream stream) {
// obtain data from stream and use
}
}
很明顯,這是僞代碼,但它應該給你從哪裏開始的想法。
感謝感。我認爲這是採訪必須期待的內容。 – 2013-02-12 01:53:55
完成從頭到尾的廢話。一個ObjectInputStream不是一個CSV文件。 readObject()方法具有ObjectInputStream參數,而不是ObjectOutputStream。您不能從任何類型的輸出流中讀取任何內容。面試官明確表示,儘管您的相反說法毫無意義,但數據將通過序列化保存,而不是反序列化。你在開玩笑嗎? -1 – EJP 2013-02-12 08:10:38
你是認真的嗎?你的整個咆哮都是基於明顯的錯字(請重新閱讀上面幾行的簽名)。這是邊緣巨魔行爲,即使對你也是如此。 – Perception 2013-02-12 11:41:13