0
我試圖在dat文件裏面存儲一個類型的數組列表,這樣數據在每次關閉程序時都不會丟失。我之前從未做過任何有關序列化的內容,從查看本網站上的其他問題,我認爲這正是我想要的。任何幫助或見解都廣受讚賞!我可以序列化一個數組列表,以便我可以將其存儲在.dat文件中嗎?
我試圖在dat文件裏面存儲一個類型的數組列表,這樣數據在每次關閉程序時都不會丟失。我之前從未做過任何有關序列化的內容,從查看本網站上的其他問題,我認爲這正是我想要的。任何幫助或見解都廣受讚賞!我可以序列化一個數組列表,以便我可以將其存儲在.dat文件中嗎?
ArrayList implements Serializable,所以你可以序列化它。但請記住,ArrayList只是一個項目集合,因此請確保所有項目都是可序列化的。這裏是一個例子
import java.util.ArrayList;
import java.io.*;
public class ListSerExample {
public static void main(String[] args) {
ArrayList<String> lst = new ArrayList<>();
lst.add("a");
lst.add("b");
lst.add("c");
try (FileOutputStream fos = new FileOutputStream("foo.dat"); ObjectOutputStream oos = new ObjectOutputStream(fos);) {
oos.writeObject(lst);
oos.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
ArrayList<String> deserialized= new ArrayList<>();
try (FileInputStream fis = new FileInputStream("foo.dat");
ObjectInputStream ois = new ObjectInputStream(fis);){
deserialized = (ArrayList) ois.readObject();
ois.close();
fis.close();
System.out.println("deserialized = " + deserialized);
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
你放在'ArrayList'中的所有對象也必須是可序列化的。 – markspace 2014-12-03 19:59:13
您是否閱讀過文檔? – SLaks 2014-12-03 19:59:20