Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 附加到存储在外部文件中的ArrayList_Java_Arrays_File - Fatal编程技术网

Java 附加到存储在外部文件中的ArrayList

Java 附加到存储在外部文件中的ArrayList,java,arrays,file,Java,Arrays,File,我有一个名为ArrayList.data的文件,用于存储哈希映射的ArrayList。由于我使用的程序的限制,我不能一次添加所有数据,因为程序会为每个用户创建一个新实例。要创建所有用户数据的arraylist,我需要打开文件,添加用户数据,然后关闭文件 该文件仅包含哈希映射的arraylist。是否有一种方法可以每次附加到此hashmap,或者我是否需要不断用更新的附加版本替换它?您是否使用Java序列化来存储ArrayList?不幸的是,这种机制不允许您以增量方式将数据添加到已序列化的表单中。

我有一个名为
ArrayList.data
的文件,用于存储哈希映射的ArrayList。由于我使用的程序的限制,我不能一次添加所有数据,因为程序会为每个用户创建一个新实例。要创建所有用户数据的arraylist,我需要打开文件,添加用户数据,然后关闭文件


该文件仅包含哈希映射的arraylist。是否有一种方法可以每次附加到此hashmap,或者我是否需要不断用更新的附加版本替换它?

您是否使用Java序列化来存储
ArrayList
?不幸的是,这种机制不允许您以增量方式将数据添加到已序列化的表单中。相反,您必须打开文件,反序列化整个
ArrayList
,添加一个元素并将其序列化回来,覆盖文件中以前的数据。如果列表变大,这种方法是不可行的


你可以做的是序列化每个
HashMap
(single
arraylist)当你说一个文件包含一个arraylist…你的意思是你用一个ObjectOutputStream序列化了它吗?数据库的存在是有原因的,特别是在你的案例的内存数据库中。然后你可以使用JPA来“序列化”你的实体。