Почему не проходит Экстернализация?
Мне нужно сериализовать объект класса 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
Подскажите, в чём ошибка? Как исправить?