1
ストリームとしてシリアライズされたオブジェクトを読みます次のアプローチへ:私はこのように膨大なリンクリスト(150メガバイト)を連載している
public ArrayList deserialize(File file){
ArrayList<LinkedList> e = null;
try
{
FileInputStream fileIn = new FileInputStream(file);
ObjectInputStream in = new ObjectInputStream(fileIn);
e = (ArrayList<LinkedList>) in.readObject();
in.close();
fileIn.close();
return e;
}catch(IOException i)
{
i.printStackTrace();
return null;
}catch(ClassNotFoundException c)
{
System.out.println("Object not found");
c.printStackTrace();
return null;
}
}
それは、逆シリアル化プロセスがまだ実行されている間、一部の非直列化されたデータを使用することは可能ですし、まだ完了していませんか?
いいえ、不可能です。しかし、代わりにあなたのリストをループし、各要素を別々に書くことができ、各要素を別々に読み返すことができます。または、Javaのシリアライズよりも優れたフォーマットを選択します。 Javaのシリアル化は、長期間の記憶には悪い考えです。 –