Lab-File Processing
OBJECTIVES
· Add persistent data storage to your Week 4 Lab using text file input/output.
PROBLEM: Stocks4U Portfolio Management System
The portfolio management system you developed for Stocks4U needs the ability to save and restore a user's data from a text file.
FUNCTIONAL REQUIREMENTS
You can code the GUI by hand or use NetBeans GUI Builder Interface.
You will enhance Week 4 GUI to include
· a File menu with menu items: open, save, exit; and
· a label to display total portfolio value.
Stock class
· Modify the toString of Stock class to display as
"Company: qty shares" (i.e., "Apple: 10 shares")
StockIO class
Create a StockIO class that is used to read from and write to a text file using an ArrayList. Make sure to use a delimiter between the fields; it does not have to be the # character. Example format of the file is:
Apple#100#55.0#80.0
Intel#50#75.0#70.0
This class should have two methods.
· getData-reads data from file, returns data in array list of stock objects
· saveData-writes data from an array list to the file in proper format
The file name will be an instance variable that you can set with a parameterized constructor, or with a separate method.
GUI class
Note that you will need to add an ArrayList to your GUI class to manage the data to/from the file. It will act as a parallel array to your DefaultListModel. Any time you add a stock, you must add it in BOTH places. Any time you remove a stock, you must remove it in BOTH places.
File-open should prompt for file name using JOptionPane, read the file and populate the JList.
File-save should prompt for file name to save data from JList to.
File-exit should exit the program.
The total value of the portfolio should be displayed at all times and updated anytime a stock is added or removed.