|
@@ -15,57 +15,55 @@ import java.util.zip.ZipEntry;
|
|
|
import java.util.zip.ZipOutputStream;
|
|
|
|
|
|
public class ZipLibrary {
|
|
|
-
|
|
|
- private static String BackupDirectory = mcMMO.mainDirectory + "backup";
|
|
|
- private static File BackupDir = new File(BackupDirectory);
|
|
|
- private static File FlatFileDirectory = new File(mcMMO.flatFileDirectory);
|
|
|
- private static File UsersFile = new File(mcMMO.usersFile);
|
|
|
- private static File ConfigFile = new File(mcMMO.mainDirectory + "config.yml");
|
|
|
- private static File Leaderboards = new File(mcMMO.leaderboardDirectory);
|
|
|
-
|
|
|
-
|
|
|
- public static void mcMMObackup() throws IOException {
|
|
|
- try {
|
|
|
- if (BackupDir.mkdir()) { mcMMO.p.getLogger().info("Created Backup Directory."); }
|
|
|
- } catch (Exception h) {
|
|
|
- mcMMO.p.getLogger().severe(h.toString());
|
|
|
- }
|
|
|
-
|
|
|
- //Generate the proper date for the backup filename
|
|
|
- Date date = new Date();
|
|
|
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
|
|
|
- File fileZip = new File(BackupDirectory + File.separator + dateFormat.format(date) + ".zip");
|
|
|
-
|
|
|
-
|
|
|
- //Create the Source List, and add directories/etc to the file.
|
|
|
- List<File> sources = new ArrayList<File>();
|
|
|
- sources.add(FlatFileDirectory);
|
|
|
- sources.add(UsersFile);
|
|
|
- sources.add(ConfigFile);
|
|
|
- sources.add(Leaderboards);
|
|
|
-
|
|
|
-
|
|
|
- //Actually do something
|
|
|
- System.out.println("Backing up your mcMMO Configuration... ");
|
|
|
-
|
|
|
- packZip(fileZip, sources);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- private static void packZip(File output, List<File> sources) throws IOException
|
|
|
+
|
|
|
+ private static String BackupDirectory = mcMMO.mainDirectory + "backup";
|
|
|
+ private static File BackupDir = new File(BackupDirectory);
|
|
|
+ private static File FlatFileDirectory = new File(mcMMO.flatFileDirectory);
|
|
|
+ private static File UsersFile = new File(mcMMO.usersFile);
|
|
|
+ private static File ConfigFile = new File(mcMMO.mainDirectory + "config.yml");
|
|
|
+ private static File Leaderboards = new File(mcMMO.leaderboardDirectory);
|
|
|
+
|
|
|
+ public static void mcMMObackup() throws IOException {
|
|
|
+ if (BackupDir.mkdir()) {
|
|
|
+ try {
|
|
|
+ mcMMO.p.getLogger().info("Created Backup Directory.");
|
|
|
+ } catch (Exception e) {
|
|
|
+ mcMMO.p.getLogger().severe(e.toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //Generate the proper date for the backup filename
|
|
|
+ Date date = new Date();
|
|
|
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
|
|
|
+ File fileZip = new File(BackupDirectory + File.separator + dateFormat.format(date) + ".zip");
|
|
|
+
|
|
|
+ //Create the Source List, and add directories/etc to the file.
|
|
|
+ List<File> sources = new ArrayList<File>();
|
|
|
+ sources.add(FlatFileDirectory);
|
|
|
+ sources.add(UsersFile);
|
|
|
+ sources.add(ConfigFile);
|
|
|
+ sources.add(Leaderboards);
|
|
|
+
|
|
|
+ //Actually do something
|
|
|
+ System.out.println("Backing up your mcMMO Configuration... ");
|
|
|
+
|
|
|
+ packZip(fileZip, sources);
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void packZip(File output, List<File> sources) throws IOException
|
|
|
{
|
|
|
ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(output));
|
|
|
zipOut.setLevel(Deflater.DEFAULT_COMPRESSION);
|
|
|
|
|
|
for (File source : sources) {
|
|
|
-
|
|
|
if (source.isDirectory()) {
|
|
|
zipDir(zipOut, "", source);
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else {
|
|
|
zipFile(zipOut, "", source);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
zipOut.flush();
|
|
|
zipOut.close();
|
|
|
System.out.println("Backup Completed.");
|
|
@@ -74,7 +72,8 @@ public class ZipLibrary {
|
|
|
private static String buildPath(String path, String file) {
|
|
|
if (path == null || path.isEmpty()) {
|
|
|
return file;
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else {
|
|
|
return path + "/" + file;
|
|
|
}
|
|
|
}
|
|
@@ -91,11 +90,11 @@ public class ZipLibrary {
|
|
|
for (File source : files) {
|
|
|
if (source.isDirectory()) {
|
|
|
zipDir(zos, path, source);
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else {
|
|
|
zipFile(zos, path, source);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
private static void zipFile(ZipOutputStream zos, String path, File file) throws IOException {
|
|
@@ -103,13 +102,13 @@ public class ZipLibrary {
|
|
|
System.out.println("Cannot read " + file.getCanonicalPath() + "(File Permissions?)");
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
zos.putNextEntry(new ZipEntry(buildPath(path, file.getName())));
|
|
|
|
|
|
FileInputStream fis = new FileInputStream(file);
|
|
|
-
|
|
|
byte[] buffer = new byte[4092];
|
|
|
int byteCount = 0;
|
|
|
+
|
|
|
while ((byteCount = fis.read(buffer)) != -1) {
|
|
|
zos.write(buffer, 0, byteCount);
|
|
|
}
|
|
@@ -117,6 +116,4 @@ public class ZipLibrary {
|
|
|
fis.close();
|
|
|
zos.closeEntry();
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|