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 {