2013-08-31 2 views
2

Я работаю над программой о студентах (сохраняя имя, возраст и другую информацию в объекты и сохраняя эти объекты в массиве). Пока что так хорошо, я даже получил JFrames для работы именно так, как я их хочу, но проблема возникает, когда я пытаюсь записать всю эту информацию в текстовом файле.JAVA Запись и загрузка объекта ArrayList

Как я могу это сделать?

Я попытался FileOutputStream с ObjectOutputStream, но я, скорее всего, не делаю этого правильно, так как я продолжаю получать исключение IOException.

Пример программы, в которой хранится массивList с 2 или более объектами, содержащими 2 или более переменных, - это почти то, что я ищу.

Что касается загрузки этого сохраненного массива, я думаю, что смогу это выяснить, но объяснение по этому вопросу все равно будет оценено.

Я видел пару раз на различных веб-сайтах людей, предлагая сделать (но это дает мне IOException)

FileOutputStream fos=new FileOutputStream("FileName.txt"); 
    ObjectOutputStream oos=new ObjectOutputStream(fos); 

    oos.writeObject(myObjectArrayList); 
+1

Что 'IOException' вы получаете? –

+1

Хотя это не делает никаких технических различий, было бы лучше использовать другое расширение файла, такое как .dat или .ser. Это просто помогает определить содержимое файла. – BlackBox

+1

@BlackBox s/format/extension /. Файл _format_ на самом деле не изменяется. –

ответ

0

Хотя сериализации ваш ArrayList в файл вам необходимо убедиться, что объект, список также сериализуем. Поэтому убедитесь, что ваш класс Student реализует интерфейс Serializable.

+0

В нем четко сказано, что я должен избегать такого рода вещей, но ... Большое спасибо, что я весь этот день застрял. –

3

По умолчанию ArrayList является Serializable.

Но объекты внутри списка также должны быть реализованы Serializableinterface.

При написании убедитесь, что ваш Student класс реализован java.io.Serializable