Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void save (String fileName){
- ChangeJar saveJar = new ChangeJar();
- saveJar.quarters = quarters;
- saveJar.dimes = dimes;
- saveJar.nickels = nickels;
- saveJar.pennies = pennies;
- try {
- FileOutputStream fileOut = new FileOutputStream("C:\\" + fileName + ".cjr");
- ObjectOutputStream out = new ObjectOutputStream(fileOut);
- out.writeObject(saveJar);
- out.close();
- fileOut.close();
- System.out.printf("Saved ChangeJar is saved in C:\\" + fileName + ".cjr");
- }catch(IOException i) {
- i.printStackTrace();
- }
- }
- public ChangeJar load (String fileName){
- try {
- FileInputStream fileIn = new FileInputStream("C:\\" + fileName + ".cjr");
- ObjectInputStream in = new ObjectInputStream(fileIn);
- ChangeJar loadJar = (ChangeJar) in.readObject();
- in.close();
- fileIn.close();
- return loadJar;
- }catch(IOException i) {
- i.printStackTrace();
- return null;
- }catch(ClassNotFoundException c) {
- System.out.println("ChangeJar class not found");
- c.printStackTrace();
- return null;
- }
- }
- Main Method Test
- // Creates a new ChangeJar, then saves it to the computer. After reseting the jar to have no money in
- // it, loads the saved jar file.
- ChangeJar s5 = new ChangeJar (1.64);
- System.out.println (s5);
- s5.save("file1");
- s5 = new ChangeJar ();
- s5.load("file1");
- System.out.println (s5);
- System.out.println("Should contain\t 6 quarter(s), 1 dime(s), 0 nickel(s) and 4 penny(s).\n");
- Results
- This jar contains 6 quarter(s), 1 dime(s), 0 nickel(s), and 4 penny(s).
- java.io.NotSerializableException: package1.ChangeJar
- at java.io.ObjectOutputStream.writeObject0(Unknown Source)
- at java.io.ObjectOutputStream.writeObject(Unknown Source)
- at package1.ChangeJar.save(ChangeJar.java:522)
- at package1.ChangeJar.main(ChangeJar.java:642)
- java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: package1.ChangeJar
- at java.io.ObjectInputStream.readObject0(Unknown Source)
- at java.io.ObjectInputStream.readObject(Unknown Source)
- at package1.ChangeJar.load(ChangeJar.java:535)
- at package1.ChangeJar.main(ChangeJar.java:644)
- Caused by: java.io.NotSerializableException: package1.ChangeJar
- at java.io.ObjectOutputStream.writeObject0(Unknown Source)
- at java.io.ObjectOutputStream.writeObject(Unknown Source)
- at package1.ChangeJar.save(ChangeJar.java:522)
- at package1.ChangeJar.main(ChangeJar.java:642)
- This jar contains 0 quarter(s), 0 dime(s), 0 nickel(s), and 0 penny(s).
- 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