1 package Aug14.IO;
2
3 import java.io.*;
4 import java.util.*;
5 import java.util.Map.Entry;
6
7 public class TestCurrentAccount {
8
9 private void objectWriter(Map<Integer, CurrentAccount> m, File f) {
10 try {
11 // File f = new File("D:\\Account.txt");
12 ObjectOutputStream oos = new ObjectOutputStream(
13 new FileOutputStream(f));
14 oos.writeObject(m);
15 oos.flush();
16 oos.close();
17 System.out.println("File Writing Success");
18 } catch (Exception e) {
19 e.printStackTrace();
20 }
21 }
22
23 @SuppressWarnings("unchecked")
24 private void objectReader(File f) {
25 try {
26
27 ObjectInputStream ois = new ObjectInputStream(
28 new FileInputStream(f));
29
30 Map<Integer, CurrentAccount> m = (Map<Integer, CurrentAccount>) ois
31 .readObject();
32
33 Set view = m.entrySet();
34 Iterator it = view.iterator();
35 while (it.hasNext()) {
36 Entry<Integer, CurrentAccount> ca = (Entry<Integer, CurrentAccount>) it
37 .next();
38 CurrentAccount cur = ca.getValue();
39 System.out.println("Key:- " + ca.getKey() + "\tValues:- "
40 + cur.getAccountId() + " " + cur.getName() + " "
41 + cur.getBalanceAmount());
42
43 }
44 ois.close();
45 } catch (Exception e) {
46 e.printStackTrace();
47 }
48 System.out.println("File Reading Success");
49 }
50
51 @SuppressWarnings("unchecked")
52 public static void main(String[] args) {
53 Scanner reader = new Scanner(System.in);
54 CurrentAccount cu;
55 // Map map=new HashMap();
56 Map<Integer, CurrentAccount> map = new HashMap<Integer, CurrentAccount>();
57 for (int i = 0; i < 1; i++) {
58 cu = new CurrentAccount();
59
60 System.out.println("Enter AccountId");
61 cu.setAccountId(reader.nextInt());
62 System.out.println("Enter name");
63 cu.setName(reader.next());
64 System.out.println("Enter balanceAmount");
65 cu.setBalanceAmount(reader.nextDouble());
66 map.put(10000 + i, cu);
67 }
68
69 String answer = "No";
70
71 while (answer.equals("No") || !answer.equals("Yes")) {
72 System.out.println("Enter the path to store the data:");
73 // File f = new File("D:\\Account.txt");
74 String path = reader.next();
75 File file = new File(path);
76
77 if (file.exists()) {
78 System.out
79 .println("The file already exists ,do you want it being overwritten?(Yes/No)");
80 answer = reader.next();
81
82 if (answer.equals("Yes")) {
83 TestCurrentAccount ta = new TestCurrentAccount();
84 ta.objectWriter(map, file);
85 ta.objectReader(file);
86 break;
87 } else if (answer.equals("No")) {
88 System.out
89 .println("Enter the new path to store the data:");
90
91 } else {
92 System.out
93 .println("Please enter the right answer,try again:");
94 }
95 } else {
96 TestCurrentAccount ta = new TestCurrentAccount();
97 ta.objectWriter(map, file);
98 ta.objectReader(file);
99 break;
100
101 }
102
103 }
104 }
105 }
106
107 class CurrentAccount implements Serializable {
108 int AccountId;
109 String name;
110 double balanceAmount;
111
112 public int getAccountId() {
113 return AccountId;
114 }
115
116 public void setAccountId(int accountId) {
117 AccountId = accountId;
118 }
119
120 public String getName() {
121 return name;
122 }
123
124 public void setName(String name) {
125 this.name = name;
126 }
127
128 public double getBalanceAmount() {
129 return balanceAmount;
130 }
131
132 public void setBalanceAmount(double balanceAmount) {
133 this.balanceAmount = balanceAmount;
134 }
135
136 }