62 lines
1.6 KiB
Java
62 lines
1.6 KiB
Java
package pr2.streams.interne_iteration;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.FileReader;
|
|
import java.io.IOException;
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.Locale;
|
|
|
|
/**
|
|
* Datenbank für die Spiele.
|
|
*/
|
|
public class GameDatabase {
|
|
|
|
private final List<ComputerGame> games;
|
|
|
|
/**
|
|
* Datenbank mit Spieleinfomrationen.
|
|
*/
|
|
@SuppressWarnings("deprecation")
|
|
public GameDatabase() {
|
|
games = new ArrayList<>();
|
|
|
|
try {
|
|
BufferedReader br =
|
|
new BufferedReader(new FileReader(
|
|
"games.txt"));
|
|
|
|
String line;
|
|
|
|
while ((line = br.readLine()) != null) {
|
|
String[] tokens = line.split(";");
|
|
int metacritic = Integer.parseInt(tokens[0]);
|
|
String name = tokens[1];
|
|
int userScore = (int) (Double.parseDouble(tokens[2]) * 10);
|
|
Date date =
|
|
new SimpleDateFormat("MMM d, yyyy", Locale.US).parse(
|
|
tokens[3]);
|
|
|
|
games.add(new ComputerGame(name, date.getYear() + 1900,
|
|
metacritic, userScore));
|
|
}
|
|
|
|
br.close();
|
|
} catch (IOException | ParseException ex) {
|
|
ex.printStackTrace();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Gibt die Liste der Spiele zurück.
|
|
*
|
|
* @return Liste der Spiele
|
|
*/
|
|
public List<ComputerGame> getGames() {
|
|
return new ArrayList<>(games);
|
|
}
|
|
}
|