Я пытаюсь создать простую программу для редактирования изображений в java. Я создал объект ImageCanvas, который имеет всю информацию об редактируемом изображении (некоторые базовые свойства, список применяемых эффектов, список слоев BufferedImage и т.д.), И я хотел бы простой способ его сохранения на диск, чтобы его можно было открыть позже.
Я понял, что использование интерфейса Java defualt Serializable может быть именно тем, что я искал, и я мог бы просто написать весь объект в файл и снова прочитать его обратно в память позже. Однако ImageCanvas включает ArrayList<BufferedImage>, а BufferedImage не является сериализуемым (все остальное).
Я знаю, что можно переопределить методы writeObject() и readObject(), но я никогда не делал этого, и мне было интересно, есть ли простой способ заставить Java сериализовать все остальное и иметь собственный способ чтения/пишите BufferedImage на диск? Или есть другой способ легко написать весь объект ImageCanvas на диск, который я пропускаю? В конце концов я мог бы реализовать свой собственный тип файла изображения, но сейчас я хотел бы быстро и просто временно сохранить файлы во время тестирования (класс ImageCanvas сильно изменится, поэтому я не хотел, чтобы продолжайте обновлять свой собственный тип файла, прежде чем я его окончательно доработаю).