C #: механизм для создания обычных файлов

#c# #asp.net

#c# #asp.net

Вопрос:

следующие обычные файлы (date_time.zip ) будет генерироваться с интервалом в 15 минут в ASP.NET сайт с Таймером.

1027_0100.zip, 1027_011*.zip, 1027_0130.zip, ...

Мой вопрос в том, что мне нужен механизм для восстановления файлов, которые каким-то образом пропущены в течение 3 дней, например 1026_0000.zip . Какую структуру данных / алгоритм вы бы порекомендовали использовать для реализации?

PS: я намерен использовать другой таймер для регулярного восстановления отсутствующих файлов.

Спасибо!

Комментарии:

1. нужно ли проверять файловую систему на наличие отсутствующих файлов или внутреннюю структуру данных?

Ответ №1:

Поскольку схема именования известна, а место, куда отправляются файлы, известно. Вам просто нужно сгенерировать имя для каждого потенциального файла, а затем проверить его существование с помощью System.Io.file .Существует. Если этот вызов завершается неудачно, создайте заново файл.

Ответ №2:

Я предложу немного другое решение: вместо того, чтобы повторно запрашивать диск, просто используйте Directory .GetFiles(…) и Linq против этого:

 string[] files_that_should_exist = YourMethodToGenerateExistingFilenames();
string[] files_in_dir = System.IO.Directory.GetFiles(output_path);

var missing_files = files_that_should_exist.Except(files_in_dir);

foreach(string file in missing_files) YourMissingFileGenerateMethod(file);