2009-12-08 49 views
-2

我正在製作一個程序,通過序列化打開以前保存的文件,並且想要創建一個新的文件,但是數據仍然保留在其中。如何在Java中讀取後忘記序列化數據?

我該如何讓程序忘記數據?

+0

你的意思是你想覆蓋文件? – 2009-12-08 01:30:14

+0

你能解釋得更好嗎?不確定你的意思,「數據保持在」。數據留在什麼地方?發佈一些代碼可能會有所幫助。 – 2009-12-08 01:34:07

+0

就像,我寫了一些數據,保存它並且不退出程序,轉到一個名爲New的命令,它應該打開一個新的空文件。 有點像單詞和其他文本編輯器。但是,當我使用新命令時,與保存的數據相同的數據仍然存在。 – Martin 2009-12-08 01:41:18

回答

0

不應該創建任何你正在序列化的類的新實例給你這樣一個'空數據記錄'?

使用您使用文本編輯器的例子,你會,說,一個Document類完全封裝了一個文本文檔,並假設你使用序列保存它,然後只需new Document()會給你一個空文件...在你填寫一些文本(或程序中的數據)之前,你不應該打開一個文件...

假設你的意思是一個員工數據樹,或者在其節點上有Employee對象的樹型數據結構,這樣的樹會給你你想要的。

想一下,您是如何創建您序列化的第一個數據集的?只需重複該過程...

1

如果您使用關鍵字transient指定屬性,那麼它將不會被序列化。如果您通過序列化對象並將它們寫入文件來保存數據,這可能就是您要查找的內容。 Here's an example使用transient關鍵字。

相關問題