![]() |
Работа с файлами по маске.
Вот пишу простой код по удалению файла если он *.txt. В бат по такой маске все работает, а в с# нифига не хочет. Вот код:
Код:
|
Код:
foreach (FileInfo file in dir.GetFiles()) И однозначно вызов file.Delete(); надо оборачивать в try... catch, т.к. могут вылететь исключения при попытках удалить файл. |
А можно воспользоваться методом GetFiles с параметром маски. И удалить все файлы...
Код:
foreach (FileInfo file in dir.GetFiles("*.txt")) |
LilLoco, если расширение будет .TxT или TXT, то не сработает, как и в моем, впрочем, случае.
В моем варианте надо переписать так: Код:
if (file.Extension.ToLower() == "txt") |
Delirium, Позволю себе с вами не согласится. При поиске по маске находятся все файлы. Попробовал, вот что получилось:
Код:
namespace ConsoleApplication1 Работа программы: |
А что значит
Цитата:
Проверяет именно разширение файла? Я сделал так как LilLoco писал, потому что мне не только по разшрению нужно было удалять но и по "?18023?.тхт". Но возьму на заметку оба способа. А хотя нет, в некоторых случаях мне нужно использовать именно if для сравнения имен файлов... |
И ещо, не подскажите как правильно написать функцию для скачивания файла с фтп по маске. Использую вот эту библиотеку: http://kbss.ru/blog/lang_c_sharp/107.html.
Как получить имя файла на фтп я знаю, но как в if задать маску? |
LilLoco, +1. Я и не знал, что GetFiles регистронезависима :)
Цитата:
Цитата:
|
И еще маленькая поправочка. При сравнении расширения файла с необходимым значением, необходимо добавить точку. Свойство FileInfo.Extension возвращает расширение с точкой. Код:
if (file.Extension.ToLower() == ".txt") |
Delirium, ок, создам новую.
|
Время: 05:06. |
Время: 05:06.
© OSzone.net 2001-