Advertisement
Guest User

Untitled

a guest
May 23rd, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.85 KB | None | 0 0
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. package roulette;
  7.  
  8. import java.io.FileNotFoundException;
  9. import java.io.FileReader;
  10. import java.io.FileWriter;
  11. import java.io.IOException;
  12. import java.util.ArrayList;
  13. import java.util.Scanner;
  14.  
  15. /**
  16.  *
  17.  * @author Southern Trendkiller
  18.  */
  19. public class RouletteGameRecordMapper {
  20.  
  21.     private Scanner scan;
  22.     private FileReader freader;
  23.     private FileWriter fwriter;
  24.  
  25.     public RouletteGameRecordMapper()
  26.     {
  27.     }
  28.        
  29.         public ArrayList<RouletteGameRecord> readRouletteGameRecordsFromFile(String file)
  30.         {
  31.         ArrayList<RouletteGameRecord> ret = new ArrayList<RouletteGameRecord>();
  32.  
  33.         try {
  34.             freader = new FileReader(file);
  35.  
  36.             // setup a scanner, use \ as delimiter
  37.             this.scan = new Scanner(freader).useDelimiter("\\s*\\\\s*");
  38.                        
  39.             String date;
  40.                         boolean outcome;
  41.                         int bet, gain;
  42.  
  43.                         // if the file is empty, we return an empty list.
  44.                         if(!scan.hasNext())
  45.                             return ret;
  46.  
  47.             while(true)
  48.             {
  49.                 // get all ctor args
  50.                 date = scan.next();
  51.                
  52.                                 if(scan.next().equals("true"))
  53.                                     outcome = true;
  54.                                 else
  55.                                     outcome = false;
  56.  
  57.                                 bet = scan.nextInt();
  58.                                 gain = scan.nextInt();
  59.                
  60.                 // construct a GameRecord and add it to our Record list
  61.                 RouletteGameRecord temp = new RouletteGameRecord(date, outcome, bet, gain);
  62.                 ret.add(temp);
  63.  
  64.                 // if we reached EOF, break.
  65.                 if(!scan.hasNext())
  66.                     break;
  67.             }
  68.             freader.close();
  69.  
  70.             // catch them Exceptions
  71.         } catch (FileNotFoundException e) {
  72.             // in case the file was not found, we assume there are no records
  73.                         // associated with the profile that is being loaded, and thus return null.
  74.                     return ret;
  75.  
  76.         } catch (IOException e) {
  77.             e.printStackTrace();
  78.         }
  79.  
  80.         return ret;
  81.         }
  82.        
  83.         public void writeRouletteGameRecordsToFile(String file, ArrayList<RouletteGameRecord> reclist)
  84.         {
  85.         try {
  86.             this.fwriter = new FileWriter(file);
  87.  
  88.             // ctor niceness
  89.             // public RouletteGameRecord(String date, boolean outcome, int bet, int gain)
  90.  
  91.             String temp;
  92.             for(RouletteGameRecord rec : reclist)
  93.             {
  94.                 temp = rec.getDate() + "\\";
  95.                 temp += Boolean.toString(rec.isOutcome())  + "\\";
  96.                 temp += Integer.toString(rec.getBet()) + "\\";
  97.                 temp += Integer.toString(rec.getGain()) + "\\";
  98.  
  99.                 fwriter.write(temp);
  100.             }
  101.             fwriter.close();
  102.  
  103.         } catch (IOException e) {
  104.             e.printStackTrace();
  105.             System.out.println("Fatal I/O Exception.");
  106.         }
  107.         }
  108.  
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement