Сортировка файлов в C#

Нам дали задание: есть максимальное количество создаваемых файлов, и если этот максимум достигнут, то этот файл становится последним, а самый старый файл заменяется последующим. Как я не пыталась, компилятор жалуется на то, что уже есть такой файл с этим именем.

        BinaryFormatter formatter = new BinaryFormatter();
        FileStream Stream = null;
        string Path = "";
        for (int i = 0; i < Interval; i++) {
            Path = Application.persistentDataPath + "/autoSave/autoSave" + i + ".save";
            if (!File.Exists(Path))
            {
                Stream = new FileStream(Path, FileMode.Create);
                break; //Записывание нового файла
            }
        }
        if (Stream == null)
        {
            for (int i = Interval - 2; i >= 0; i++)
            {
                File.Move(Application.persistentDataPath + "/autoSave/autoSave" + i + ".save",
                    Application.persistentDataPath + "/autoSave/buffer" + (i + 1) + ".save");
                    //Проблемное место
            }
            Path = Application.persistentDataPath + "/autoSave/autoSave" + (Interval - 1) + ".save";
            Stream = new FileStream(Path, FileMode.Create);

Буду очень признательна, если кто поможет


Ответы (1 шт):

Автор решения: Srazhov

Можешь попробовать просто удалять самый старый файл, если их количество достигло максимального

int order = 0;
FileStream Stream = null;
string Path = Application.persistentDataPath + "/autoSave/autoSave" + order + ".save";
    if (!File.Exists(Path))
    {
        Stream = new FileStream(Path, FileMode.Create);
        order++;
        if (order >= Interval)
                File.Delete(Application.persistentDataPath + "/autoSave/autoSave" + (order - Interval - 1)+ ".save");
    }
→ Ссылка