Files
dnd/dndBuilder/src/FileManagement/FileManager.java
T
2022-11-08 19:57:07 -07:00

107 lines
2.0 KiB
Java

package FileManagement;
import java.io.*;
import java.util.Arrays;
import Character.*;
public class FileManager {
private File[] savedCharacters;
public FileManager() {
System.out.println("FileManager object created.\n");
findSavedCharacters();
}
public boolean isReturninguser() {
if(savedCharacters == null) {
return false;
}
return savedCharacters.length > 0;
}
public CharacterSheet readCharacter(int index) {
CharacterSheet sheet = null;
try {
FileInputStream fileIn = new FileInputStream("/tmp/" + savedCharacters[index].getPath() + ".dnd");
ObjectInputStream in = new ObjectInputStream(fileIn);
sheet = (CharacterSheet) in.readObject();
in.close();
fileIn.close();
} catch (IOException i) {
i.printStackTrace();
} catch (ClassNotFoundException c) {
System.out.println("Employee class not found");
c.printStackTrace();
}
return sheet;
}
public void saveCharacter (CharacterSheet completedCharacter) {
try {
FileOutputStream fileOut =
new FileOutputStream("/bin/" + completedCharacter.getName().hashCode() + ".dnd");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(completedCharacter);
out.close();
fileOut.close();
} catch (IOException i) {
i.printStackTrace();
}
findSavedCharacters();
}
public void deleteCharacter(int index) {
File[] tmp = new File[savedCharacters.length - 1];
for (int i = 0; i < savedCharacters.length; i++) {
if(i != index) {
tmp[i] = savedCharacters[i];
}
}
savedCharacters = tmp;
findSavedCharacters();
}
private void findSavedCharacters() {
savedCharacters = new File("/dndBuilder").listFiles();
}
}