47 lines
1.8 KiB
Java
47 lines
1.8 KiB
Java
//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<String> 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);
|
|
}
|
|
}
|