Как удалить объекты из файла java ser - PullRequest
0 голосов
/ 13 апреля 2020

Я программирую проект проката автомобилей для клиента и включает в себя создание учетных записей пользователей и возможность удалить эти учетные записи, используя Java. Я сериализирую эти данные, используя расширение файла ser (по запросу клиента). В настоящее время я могу писать и читать файл ser, но мне нужно иметь возможность удалить данные из файла ser.

Вот как я сериализую и десериализирую:

import java.util.ArrayList;
import java.io.*;

// serialise() and deserialise() in main method

    public static void serialise(){

        try {
            FileOutputStream fileOut = new FileOutputStream("customers.ser");
            ObjectOutputStream out = new ObjectOutputStream(fileOut); // write objects to the file
            out.writeObject(users);
            out.close();
            fileOut.close();
            System.out.printf("Serialized data is saved in customers.ser");
        } catch (IOException i) {
            i.printStackTrace();
        }
    }

    public static void deserialise(){
        try {
            FileInputStream fileIn = new FileInputStream("customers.ser");
            ObjectInputStream in = new ObjectInputStream(fileIn);
            users = (ArrayList<Person>) in.readObject();
            in.close();
            fileIn.close();
        } catch (IOException i) {
            i.printStackTrace(); // how stacks are used 
            return;
        } catch (ClassNotFoundException c) {
            System.out.println("Person class not found");
            c.printStackTrace();
            return;
      }
    }

Любая помощь очень ценится, поскольку я не могу понять, как использовать метод FileInputStream для удаления полей. Может быть, мне нужно использовать другую библиотеку? Пожалуйста, дайте мне знать.

...