CIS355A Week
5 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.
Sample
GUI
RUBRIC
|
Stock class toString modified |
5 |
|
GUI class · Menu is added. · Label is added for · Open menu item reads · Save menu item · Total value is |
15 |
|
StockIO class · getData method reads · saveData method |
20 |
|
Code style |
5 |
|
Lab Report |
10 |
|
TOTAL |
55 |
CODE
STYLE REQUIREMENTS
· Include meaningful comments
throughout your code.
· Use meaningful names for
variables.
· Code must be properly
indented.
· Include a comment header at
beginning of each file, example below.
/****************************************************
Program Name: ProgramName.java
Programmer’s Name: Student Name
Program Description: Describe here what this program will do
***********************************************************/
DELIVERABLES
Submit as a SINGLE zip
folder
·
all
Java files; and
·
the
Lab report.
Follow assignment
specification regarding class/method names.
Note that your Java file name
must match class name (DO NOT rename).





