import java.lang.String; import java.io.File; import java.io.PrintWriter; import java.io.FileReader; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.IOException; import java.awt.Dimension; import com.google.gson.Gson; // TODO: this class loads AND saves classes, refractor name class MapLoader { File path; public MapLoader(Object path) { if (path instanceof java.io.File) { this.path = (File) path; } else { this.path = new File((String) path); } } public Map getMap() { String mapText = ""; String line = null; FileReader fr = null; BufferedReader bf = null; try { fr = new FileReader(this.path); bf = new BufferedReader(fr); // TODO: read all while ((line = bf.readLine()) != null) { mapText = mapText + line; } bf.close(); } catch (IOException ex) { ex.printStackTrace(); } Gson gson = new Gson(); Map importMap = gson.fromJson(mapText, Map.class); //update map with new classes Map map = new Map(new Dimension(importMap.getSize(), importMap.getSize())); map.update(importMap.getActors(), importMap.getGrid()); return map; } public void saveMap(Map map) { Gson gson = new Gson(); String mapText = gson.toJson(map); PrintWriter out = null; try { out = new PrintWriter(this.path + ".json"); } catch (FileNotFoundException ex) { ex.printStackTrace(); } out.println(mapText); out.close(); } }