Advertisement
shadowsofme

More Saving Issues

Jan 17th, 2015
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. public void save (String fileName){
  2. ChangeJar saveJar = new ChangeJar();
  3.  
  4. saveJar.quarters = quarters;
  5. saveJar.dimes = dimes;
  6. saveJar.nickels = nickels;
  7. saveJar.pennies = pennies;
  8. try {
  9. FileOutputStream fileOut = new FileOutputStream("C:\\" + fileName + ".cjr");
  10. ObjectOutputStream out = new ObjectOutputStream(fileOut);
  11. out.writeObject(saveJar);
  12. out.close();
  13. fileOut.close();
  14. System.out.printf("Saved ChangeJar is saved in C:\\" + fileName + ".cjr");
  15. }catch(IOException i) {
  16. i.printStackTrace();
  17. }
  18. }
  19.  
  20. public ChangeJar load (String fileName){
  21. try {
  22. FileInputStream fileIn = new FileInputStream("C:\\" + fileName + ".cjr");
  23. ObjectInputStream in = new ObjectInputStream(fileIn);
  24. ChangeJar loadJar = (ChangeJar) in.readObject();
  25. in.close();
  26. fileIn.close();
  27. return loadJar;
  28. }catch(IOException i) {
  29. i.printStackTrace();
  30. return null;
  31. }catch(ClassNotFoundException c) {
  32. System.out.println("ChangeJar class not found");
  33. c.printStackTrace();
  34. return null;
  35. }
  36. }
  37.  
  38. Main Method Test
  39. // Creates a new ChangeJar, then saves it to the computer. After reseting the jar to have no money in
  40. // it, loads the saved jar file.
  41. ChangeJar s5 = new ChangeJar (1.64);
  42. System.out.println (s5);
  43. s5.save("file1");
  44. s5 = new ChangeJar ();
  45. s5.load("file1");
  46. System.out.println (s5);
  47. System.out.println("Should contain\t 6 quarter(s), 1 dime(s), 0 nickel(s) and 4 penny(s).\n");
  48.  
  49. Results
  50. This jar contains 6 quarter(s), 1 dime(s), 0 nickel(s), and 4 penny(s).
  51.  
  52. java.io.NotSerializableException: package1.ChangeJar
  53. at java.io.ObjectOutputStream.writeObject0(Unknown Source)
  54. at java.io.ObjectOutputStream.writeObject(Unknown Source)
  55. at package1.ChangeJar.save(ChangeJar.java:522)
  56. at package1.ChangeJar.main(ChangeJar.java:642)
  57. java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: package1.ChangeJar
  58. at java.io.ObjectInputStream.readObject0(Unknown Source)
  59. at java.io.ObjectInputStream.readObject(Unknown Source)
  60. at package1.ChangeJar.load(ChangeJar.java:535)
  61. at package1.ChangeJar.main(ChangeJar.java:644)
  62. Caused by: java.io.NotSerializableException: package1.ChangeJar
  63. at java.io.ObjectOutputStream.writeObject0(Unknown Source)
  64. at java.io.ObjectOutputStream.writeObject(Unknown Source)
  65. at package1.ChangeJar.save(ChangeJar.java:522)
  66. at package1.ChangeJar.main(ChangeJar.java:642)
  67.  
  68. This jar contains 0 quarter(s), 0 dime(s), 0 nickel(s), and 0 penny(s).
  69. Should contain 6 quarter(s), 1 dime(s), 0 nickel(s) and 4 penny(s).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement