Как я могу постоянно хранить данные списка массивов?
В настоящее время я пишу приложение командной строки, которое принимает входные данные от пользователя через терминал/командную строку и добавляет эти данные в список массивов, который затем добавляется в текстовый файл. Пользователь должен иметь возможность выполнять такие действия, как фильтрация содержимого по имени, индексу и т. д. Например, если пользователь хочет распечатать всех домашних животных, которые являются "собаками", все собаки и их данные должны быть напечатаны на терминале. Все это успешно работает с моей программой, но я столкнулся с проблемой.
Я использую методы геттера для выполнения фильтрации, которая примерно выглядит следующим образом.
if (pet.getPet().contains("dogs")) { // print all dogs. }
Насколько я понимаю, список массивов помещается в сборщик мусора при завершении процесса. Из-за этого данные теряются после каждого запуска, а методы геттера (и, в конечном счете, фильтрация) не работают должным образом при другом запуске (если это имеет смысл :) ).
С учетом сказанного, данные все еще соответствующим образом добавляются в текстовый файл, и поэтому мои попытки включали в себя попытку прочитать данные из текстового файла обратно в список массивов, но я не преуспел в этом. Независимо от того, включает ли это использование текстовых файлов или некоторых других методов, как я могу подойти к решению, чтобы сохранить данные в списке массивов постоянными, чтобы я все еще мог использовать методы геттера? Заранее спасибо.
С другой стороны, я хотел бы опубликовать свой код, но, учитывая, что это университетская оценка, мне посоветовали быть осторожным с кодом, который я публикую. Если потребуется больше деталей, я постараюсь сделать все возможное :)
Что я уже пробовал:
До сих пор я пытался использовать буферизованный считыватель для загрузки содержимого файла в 2d/вложенный список, который принимает строки, разбирая в него каждую строку файла. Это была моя лучшая попытка решить эту проблему с тех пор, как я успешно проанализировал содержимое файла в списке, но мне было трудно понять, как правильно добавить эти значения в исходный список массивов. Я также пытался использовать сериализацию, но наткнулся на ошибку, когда данные, добавленные в файл, не регистрировались при печати содержимого файла.