G
Gast
Gast
Hallo Leute.
Ich bin schon ziemlich am verzweifeln. Ich möchte eine LinkedList mit BufferedImage-Inhalt in eine Datei speichern.
Allerdings funktioniert der Code partout nicht.
(animlist ist vom Typ LinkedList<BufferedImage>)
Jedesmal erscheint die Fehlermeldung:
Welche Alternativen habe ich?
Offensichtlich ist BufferedImage nicht serialisierbar.
Ich hoffe, ihr könnt mir helfen :?
Ich bin schon ziemlich am verzweifeln. Ich möchte eine LinkedList mit BufferedImage-Inhalt in eine Datei speichern.
Allerdings funktioniert der Code partout nicht.
(animlist ist vom Typ LinkedList<BufferedImage>)
Code:
if (saver.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try {
fos = new FileOutputStream("test.bil");
oos = new ObjectOutputStream(fos);
oos.writeUnshared(animlist);
oos.close();
fos.close();
} catch (Exception ex) {
Logger.getLogger(SpritesheetExtractor.class.getName()).log(Level.SEVERE, null, ex);
}
}
Jedesmal erscheint die Fehlermeldung:
Code:
run-single:
31.12.2008 11:22:22 SN32.microPrograms.SpritesheetExtractor actionPerformed
SCHWERWIEGEND: null
java.io.NotSerializableException: java.awt.image.BufferedImage
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
at java.util.LinkedList.writeObject(LinkedList.java:755)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
at java.io.ObjectOutputStream.writeUnshared(ObjectOutputStream.java:368)
at SN32.microPrograms.SpritesheetExtractor.actionPerformed(SpritesheetExtractor.java:334)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:5517)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
at java.awt.Component.processEvent(Component.java:5282)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3984)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1791)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
BUILD SUCCESSFUL (total time: 14 seconds)
Welche Alternativen habe ich?
Offensichtlich ist BufferedImage nicht serialisierbar.
Ich hoffe, ihr könnt mir helfen :?