Почему не проходит Экстернализация?

Мне нужно сериализовать объект класса Help. Класс содержит только одно поле: BufferedImage. Класс имплементирует интерфейс java.io.Externalizable и поэтому выглядит так:

public class Help implements Externalizable {
    public BufferedImage about;
    Help(BufferedImage about){
            this.about = about;
    }

    @Override
    public void writeExternal(ObjectOutput out) throws IOException {
        out.writeObject(about);
    }

    @Override
    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
        about = (BufferedImage) in.readObject();
    }
}

Для сериализации вызываю метод

    private void externalizableWriteAbout() {
        myHelp = new Help(about);

        try(FileOutputStream myOutFile2 = new FileOutputStream ("about.dat"); 
            BufferedOutputStream myOutBuffer2 = new BufferedOutputStream(myOutFile2);
            ObjectOutputStream myOutObject2 = new ObjectOutputStream(myOutBuffer2); ){
            myOutObject2.writeObject(myHelp);

        } catch (IOException e){
            System.out.println(e);
        }
    }

В результате вызова этого метода получаю: - java.io.NotSerializableException: java.awt.image.BufferedImage

Подскажите, в чём ошибка? Как исправить?


Ответы (0 шт):