
Как получить список всех файлов в папке в C# и открыть каждую из них?
Итак, перед нами стоит задача получить список всех файлов и директорий, которые находятся в определенной папке жесткого диска компьютера. Далее мы можем открыть по-очереди все входящие в данную папку файлы определенного формата, например, текстовые файлы. Получение списка всех файлов не трудная задача. Для этого нам понадобится метод Directory.GetFiles и переменная, куда мы сохраним список всех файлов. Для этого блестяще может подойти массив из string`ов или List.
Получение списка всех файлов в папке
Ниже приведены две команды, с помощью которых мы можем получить список всех файлов в папке. Различие между ними только в методе представления полученной информации. Так, первая строчка сохраняет список файлов в массив, а вторая строчка в List.
[code language=»csharp»]string[] filesname = Directory.GetFiles(@"путь к папке");
List<string> filesname = Directory.GetFiles(@"путь к файлу").ToList<string>();[/code]
Получение списка всех файлов определенного формата
В приведенном ниже примере мы получим список только тех файлов, которые соответствуют заданному формату. В примере мы пытаемся достучаться до всех текстовых файлов формата .txt.
[code language=»csharp»]string[] files2 = Directory.GetFiles(@"путь к папке", "*.txt");
List<string> filesname = Directory.GetFiles(@"путь к папке","*.txt").ToList<string>();[/code]
Как открыть по-очереди все файлы из папки?
Теперь, когда мы получили список всех файлов в папке, мы можем продолжить работу с ними. Например, нам может понадобиться получить список всех текстовых файлов в папке, чтобы затем по-очереди открыть каждый из них и выполнить какую-то операцию с его содержимым:
[code language=»csharp»]List<string> files1 = Directory.GetFiles(@"путь к папке","*.txt").ToList<string>();
foreach (var s in files1)
{
StreamReader sr = new StreamReader(s); //открыли для файл чтения
// дальше следует Ваш код
}
[/code]
Вот такими несложными действиями можно получить список всех файлов(список всех файлов определенного формата) в папке и выполнить с ними определенные действия.




















