package tw.com.providers;
import org.apache.commons.io.FileUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.attribute.PosixFilePermission;
import java.util.HashSet;
import java.util.Set;
public class SavesFile {
private static final Logger logger = LoggerFactory.getLogger(SavesFile.class);
private Set<PosixFilePermission> permissionSet = new HashSet<>();
public SavesFile() {
permissionSet.add(PosixFilePermission.OWNER_READ);
permissionSet.add(PosixFilePermission.OWNER_WRITE);
}
public boolean save(String destination, String contents) {
File file = new File(destination);
try {
FileUtils.write(file, contents, Charset.defaultCharset());
return true;
} catch (IOException e) {
logger.error("Unable to save to file " + file.getAbsolutePath(), e);
return false;
}
}
public boolean exists(String savesFile) {
return new File(savesFile).exists();
}
public void ownerOnlyPermisssion(String filename) throws IOException {
Files.setPosixFilePermissions(Paths.get(filename), permissionSet);
}
}