Сортировка файлов в 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");
}