/Users/johnr/Dropbox/johnrayworth.info/largeFilesOutsideJSR/__IB-Other/Other/IA-Solutions-2019/Guy/Product/Investor's Application IA Working Final Draft/src/investor/s/application/ia/ReadAndWriteTransactions.java |
1
2
3
4
5
6 package investor.s.application.ia;
7
8 import java.io.BufferedReader;
9 import java.io.FileReader;
10 import java.io.FileWriter;
11 import java.io.IOException;
12 import java.util.ArrayList;
13 import java.util.StringTokenizer;
14
15
16
17 @author
18
19 public class ReadAndWriteTransactions {
20
21 public static void savingTransactions(String username, ArrayList<Transaction> transactions) {
22 try {
23 String fileName = username + " Transactions.txt";
24 FileWriter fw = new FileWriter(fileName);
25 for (int i = 0; i < transactions.size(); i++) {
26 fw.write(transactions.get(i).getStockName());
27 fw.write(":");
28 fw.write(transactions.get(i).getDate());
29 fw.write(":");
30 fw.write(String.valueOf(transactions.get(i).getNumberOfShares()));
31 fw.write(":");
32 fw.write(String.valueOf(transactions.get(i).getDividends()));
33 fw.write(":");
34 fw.write(String.valueOf(transactions.get(i).getPrice()));
35 fw.write(":");
36 fw.write(String.valueOf(transactions.get(i).getBought()));
37 fw.write(":");
38 fw.write(String.valueOf(transactions.get(i).getTimeStamp()));
39 fw.write(":");
40 fw.write(String.valueOf(transactions.get(i).getAveragePriceToDate()));
41 fw.write(":");
42 fw.write(String.valueOf(transactions.get(i).getTotalSharesOwnedToDate()));
43 fw.write(":");
44 fw.write(String.valueOf(transactions.get(i).getTransactionProfit()));
45 fw.write(":");
46 fw.write(String.valueOf(transactions.get(i).getProfitToDate()));
47 fw.write(":");
48 }
49 fw.close();
50 } catch (IOException ex) {
51
52 }
53 }
54
55 public static ArrayList<Transaction> readingTransactionsFile(String username) {
56 ArrayList<Transaction> transactions = new ArrayList<Transaction>();
57 try {
58 FileReader fr = new FileReader(username + " Transactions.txt");
59 BufferedReader br = new BufferedReader(fr);
60 String readInFile = br.readLine();
61 StringTokenizer st = new StringTokenizer(readInFile, ":");
62 while (st.hasMoreTokens()) {
63 String stockName = st.nextToken();
64 String date = st.nextToken();
65 int numberOfShares = Integer.parseInt(st.nextToken() + "");
66 double dividends = Double.parseDouble(st.nextToken() + "");
67 double price = Double.parseDouble(st.nextToken() + "");
68 boolean bought = Boolean.parseBoolean(st.nextToken() + "");
69 long timeStamp = Long.parseLong(st.nextToken() + "");
70 double averagePriceToDate = Double.parseDouble(st.nextToken() + "");
71 int totalSharesOwnedToDate = Integer.parseInt(st.nextToken() + "");
72 double transactionProfit = Double.parseDouble(st.nextToken() + "");
73 double netProfitToDate = Double.parseDouble(st.nextToken() + "");
74 transactions.add((new Transaction(stockName, date, numberOfShares, dividends, price, bought,
75 timeStamp, averagePriceToDate, totalSharesOwnedToDate, transactionProfit, netProfitToDate)));
76 }
77 } catch (IOException ex) {
78 transactions.add(new Transaction("preventNull", "preventNull", 99, -9.99, -9.99, false, -99l, -9.99, -99, -9.99, -9.99));
79 }
80 return transactions;
81 }
82
83 }
84