From d2921eaf549f106f87114559fa399f9a964090fd Mon Sep 17 00:00:00 2001 From: CrushedPixel Date: Thu, 16 Jul 2015 14:43:58 +0200 Subject: [PATCH] Created getNextFreeFile method in ReplayFileIO to provide the next free file with a filename like FILENAME_X.EXTENSION --- .../replaymod/utils/ReplayFileIO.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java b/src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java index 19deedd9..14014f04 100755 --- a/src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java +++ b/src/main/java/eu/crushedpixel/replaymod/utils/ReplayFileIO.java @@ -14,6 +14,7 @@ import net.minecraft.network.EnumPacketDirection; import net.minecraft.network.Packet; import net.minecraft.network.PacketBuffer; import org.apache.commons.io.FileUtils; +import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import java.io.*; @@ -46,6 +47,21 @@ public class ReplayFileIO { return folder; } + public static File getNextFreeFile(File file) { + if(!file.exists()) return file; + File folder = file.getParentFile(); + String filename = FilenameUtils.getBaseName(file.getAbsolutePath()); + String extension = FilenameUtils.getExtension(file.getAbsolutePath()); + + int i = 1; + while(file.exists()) { + file = new File(folder, filename+"_"+i+"."+extension); + i++; + } + + return file; + } + public static List getAllReplayFiles() { List files = new ArrayList(); try {