IO error
I'm trying to write an object to a binary file. I'm reusing code that I used before and it worked, but this time its trowing a IOException. The error is thrown when it tries to write the board to the file.
publicclass IOUtilities{
public IOUtilities(){}
publicvoid saveGame(String filename, MancalaBoard board){
if((filename!=null)&&(!filename.equals(""))){
ObjectOutputStream outStream=null;
try{
outStream =new ObjectOutputStream(new FileOutputStream(new File(filename)));
outStream.writeObject(board);
outStream.close();
System.out.println("Game saved Successfully");
}
catch(FileNotFoundException e){
System.out.println("ERROR: File not found => "+e.getMessage());
}
catch(IOException e){
System.out.println("ERROR: IO ERROR => "+e.getMessage());
}
}
}
public MancalaBoard loadGame(String filename){
if((filename!=null)&&(!filename.equals(""))){
ObjectInputStream inStream=null;
try{
inStream =new ObjectInputStream(new FileInputStream(filename));
MancalaBoard board = (MancalaBoard)inStream.readObject();
inStream.close();
return board;
}
catch(ClassNotFoundException e){
System.out.println("ERROR: Class not found => "+e.getMessage());
}
catch(FileNotFoundException e){
System.out.println("ERROR: File not found => "+e.getMessage());
}
catch(IOException e){
System.out.println("ERROR: IO ERROR => "+e.getMessage());
}
}
returnnull;
}
}
Any ideas? Thanks for any help/suggestions.
java.io.NotSerializableException: MancalaBoard
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at MancalaApplication$IOUtilities.saveGame(MancalaApplication.java:124)
at MancalaApplication$MainListener.actionPerformed(MancalaApplication.java:52)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1170)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1211)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
ERROR: IO ERROR => MancalaBoard
Message was edited by:
slackware_java