//This class allows us to input and output flies useful for //Inputing levels and making save data. import java.io.*; import java.util.ArrayList; import java.util.List; import java.util.Scanner; // TODO: close scanner etc after use public class FileManager { public static void writeFile(String fileLocation, String writeString) throws IOException { File newFile = new File(fileLocation); FileWriter fileWriter = new FileWriter(newFile); fileWriter.write(writeString); fileWriter.close(); } // will create file if it doesn't exist public static String readFile(String fileLocation) throws IOException { File newFile = new File(fileLocation); if (newFile.createNewFile()) { return null; } else { Scanner fileReader = new Scanner(newFile); // using the delimiter \\Z reads the entire file at once return fileReader.useDelimiter("\\Z").next(); } } public static Object readObjectFromFile(String fileLocation, List allowedObject) throws IOException, ClassNotFoundException { ObjectInputStream objectStream; FileInputStream fileStream = new FileInputStream(fileLocation); if (!allowedObject.contains("Any")) { objectStream = new SafeObjectInputStream(fileStream, allowedObject); } else { objectStream = new ObjectInputStream(fileStream); } return objectStream.readObject(); } public static void writeObjectToFile(String fileLocation, Object o) throws IOException { FileOutputStream fileStream = new FileOutputStream(fileLocation); ObjectOutputStream objectStream = new ObjectOutputStream(fileStream); objectStream.writeObject(o); System.out.println(o + " " + fileLocation); } }