Я программирую проект проката автомобилей для клиента и включает в себя создание учетных записей пользователей и возможность удалить эти учетные записи, используя 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 для удаления полей. Может быть, мне нужно использовать другую библиотеку? Пожалуйста, дайте мне знать.