/**
* Load a set of loot items into loot table from a Comma Separated Value (CSV) file
* @param fileName expected CSV format: | String name | int tries |
* @throws NumberFormatException if 2nd column isn't an integer (extra space?)
* @throws FileNotFoundException if can't find the CSV file (path & extension?)
* @throws IOException other I/O & storage problems
*/
public void load(String fileName){
try {
BufferedReader fileReader = new BufferedReader(new FileReader(fileName));
String lineItem;
while ((lineItem = fileReader.readLine()) != null) {
String[] lootDetails = lineItem.split(",");
lootRecord record = new lootRecord();
record.name = lootDetails[0];
record.tries = Integer.valueOf(lootDetails[1]);
record.dropChance = calcDropChance(record.tries);
table.add(record);
}
fileReader.close();
}
catch (NumberFormatException e) {
System.out.println("Invalid String: Integer count of tries expected");
e.printStackTrace();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
} // load