Удаление файлов из папки - C#
Формулировка задачи:
Уважаемые.
Задача: Стоит вопрос удаления файлов из текущей из определенной папки. Каким образом программно это можно сделать?
Суть проблемы: в папке имеется множество файлов, происходит считывание каждого из файлов, при этом для каждого файла создается дополнительных файл в котором содержится количество прочитанных строк для каждого файла. В итоге исходная папка растет в геометрической прогрессии.
Идея: Удалить все промежуточные файлы(создаваемые) файлы, оставив при этом исходники файлов (исходные файлы), кроме последнего файла (на случай если он не успел прочитаться или возникли проблемы при считывании). Удаление следует произвести в 00:00:01 время, при этом предполагается, что считывание исходных файлов продолжится .
Программный код:
Исходный метод
class Program { static void Main(string[] args) { string[] files = Directory.GetFiles(Environment.CurrentDirectory, "*.txt"); foreach (string str in files) { ReadStringFromFile(str);// в этом методе создается промежуточный файл с расширением (.dat). Исходные файлы в txt формате } Console.ReadKey(); ; } }
Решение задачи: «Удаление файлов из папки»
textual
Листинг программы
static void DeleteOldFiles() { //Метод будет искать и удалять старые текстовые файлы кроме последнего по дате. Поиск выполняется по маске *_count.txt //определим рабочую папку DirectoryInfo path = new DirectoryInfo(Directory.GetCurrentDirectory()); //получим все файлы по маске FileInfo[] files = path.GetFiles("*_count.txt"); FileInfo lastFile = null; //сравниваем дату записи каждого файла с первым файлом DateTime dt1 = files[0].LastWriteTime; foreach (FileInfo fi in files) { Console.WriteLine(fi + ": " + fi.LastWriteTime); } foreach (FileInfo fi in files) { //если она больше то, перезаписываем if(fi.CreationTime > dt1) { dt1 = fi.LastWriteTime; lastFile = fi; } } Console.WriteLine(lastFile); //и, наконец, удаляем все остальные файлы for(int i = 0; i < files.Length; i++) { if(files[i] != lastFile) { try { files[i].Delete(); Console.WriteLine(files[i] + " - удалён!"); } catch (FieldAccessException ex) { } } } Console.ReadKey(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д