как сохранить и загрузить списки из файлов?

Я пытаюсь сохранить свои списки в файле с именем «Unidade de saúde», и я записываю в файл каждый список. но когда я пытаюсь сохранить, когда что-то есть в каком-либо списке, это переходит к исключению catch.

package entidades;

//imports

public class Gravar {

    public static void gravarArquivoBinario(List<Profissional> profissional, List<Utente> utente, List<Familia> familia, List<Associa> asso, List<Cuidados> cui) {
        File arq = new File("Unidade de saúde.txt");
        try {
            arq.delete();
            arq.createNewFile();

            ObjectOutputStream objOutput = new ObjectOutputStream(new FileOutputStream(arq));
            objOutput.writeObject(profissional);
            objOutput.writeObject(utente);
            objOutput.writeObject(familia);
            objOutput.writeObject(asso);
            objOutput.writeObject(cui);
            objOutput.close();

        }catch(IOException erro) {
            System.out.printf("Erro: %s", erro.getMessage());
        }
    }

И теперь я пытаюсь загрузить в свои списки, но я не могу понять, как загрузить их все.

public static List<Object> lerArquivoBinario(List<Profissional> profissional, List<Utente> utente, List<Familia> familia, List<Associa> asso, List<Cuidados> cui) {
        List<Object> listaPro = new ArrayList();
          try {
            File arq = new File("Unidade de saúde.txt");
            if (arq.exists()) {
               ObjectInputStream objInput = new ObjectInputStream(new FileInputStream(arq));
               listaPro = (List<Object>)objInput.readObject();
               objInput.close();
            }
          } catch(IOException erro1) {
              System.out.printf("Erro: %s", erro1.getMessage());
          } catch(ClassNotFoundException erro2) {
              System.out.printf("Erro: %s", erro2.getMessage());
          }

          return(listaPro);
}

Всего 1 ответ


Вы можете записывать в файлы, только если указанный тип реализует Serializable . List - это просто интерфейс, который не расширяет Serializable Вы уверены, что profissional, utente и т. Д. Его реализуют?


Есть идеи?

10000