Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
715 of 1492 menu
◀ ▶

Метод GetFiles

Directory.GetFiles возвращает string[]. Маска "*.txt" отбирает файлы по шаблону. По умолчанию подпапки не обходят - для этого нужен SearchOption.AllDirectories. Ленивый обход - EnumerateFiles. Есть GetFilesAsync.

Синтаксис

string[] paths = Directory.GetFiles(path); string[] paths = Directory.GetFiles(path, "*.txt"); string[] paths = Directory.GetFiles( path, "*", SearchOption.AllDirectories);

Пример

Давайте получим все файлы в abcde:

using System; using System.IO; class Program { static void Main() { Directory.CreateDirectory("abcde"); File.WriteAllText("abcde/12345.txt", "12345"); File.WriteAllText("abcde/67890.dat", "67890"); string[] res = Directory.GetFiles("abcde"); Console.WriteLine(res.Length); Directory.Delete("abcde", true); } }

Результат выполнения кода:

2

Пример

Давайте отфильтруем только "*.txt":

using System; using System.IO; class Program { static void Main() { Directory.CreateDirectory("abcde"); File.WriteAllText("abcde/12345.txt", "12345"); File.WriteAllText("abcde/67890.dat", "67890"); string[] res = Directory.GetFiles("abcde", "*.txt"); Console.WriteLine(res.Length); Directory.Delete("abcde", true); } }

Результат выполнения кода:

1

Пример

Давайте убедимся, что без AllDirectories файл во вложенной папке не попадает в список:

using System; using System.IO; class Program { static void Main() { Directory.CreateDirectory("abcde/nested"); File.WriteAllText("abcde/nested/12345.txt", "12345"); File.WriteAllText("abcde/12345.txt", "12345"); string[] res = Directory.GetFiles("abcde"); Console.WriteLine(res.Length); Directory.Delete("abcde", true); } }

Результат выполнения кода:

1

Смотрите также

  • метод EnumerateFiles,
    который обходит файлы лениво
  • метод GetDirectories,
    который возвращает подпапки
  • метод GetFileSystemEntries,
    который возвращает файлы и папки вместе
  • File,
    которым создают файлы для списка
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить