Главная » Язык программирования C#

Как получить список всех файлов в папке в C#?

список файлов в папке c#

Как получить список всех файлов в папке в C# и открыть каждую из них?

Итак, перед нами стоит задача получить список всех файлов и директорий, которые находятся в определенной папке жесткого диска компьютера. Далее мы можем открыть по-очереди все входящие в данную папку файлы определенного формата, например, текстовые файлы. Получение списка всех файлов не трудная задача. Для этого нам понадобится метод Directory.GetFiles и переменная, куда мы сохраним список всех файлов. Для этого блестяще может подойти массив из string`ов или List.

Получение списка всех файлов в папке

Ниже приведены две команды, с помощью которых мы можем получить список всех файлов в папке. Различие между ними только в методе представления полученной информации. Так, первая строчка сохраняет список файлов в массив, а вторая строчка в List.

string[] filesname = Directory.GetFiles(@"путь к папке");
List<string> filesname = Directory.GetFiles(@"путь к файлу").ToList<string>();

Получение списка всех файлов определенного формата

В приведенном ниже примере мы получим список только тех файлов, которые соответствуют заданному формату. В примере мы пытаемся достучаться до всех текстовых файлов формата .txt.

string[] files2 = Directory.GetFiles(@"путь к папке", "*.txt");
List<string> filesname = Directory.GetFiles(@"путь к папке","*.txt").ToList<string>();

Как открыть по-очереди все файлы из папки?

Теперь, когда мы получили список всех файлов в папке, мы можем продолжить работу с ними. Например, нам может понадобиться получить список всех текстовых файлов в папке, чтобы затем по-очереди открыть каждый из них и выполнить какую-то операцию с его содержимым:

List<string> files1 = Directory.GetFiles(@"путь к папке","*.txt").ToList<string>();
foreach (var s in files1)
{
StreamReader sr = new StreamReader(s); //открыли для файл чтения
// дальше следует Ваш код
}

Вот такими несложными действиями можно получить список всех файлов(список всех файлов определенного формата) в папке и выполнить с ними определенные действия.

2 комментариев к записи “Как получить список всех файлов в папке в C#?
  1. Я в cказал :

    Скажите пожалуйста: можно ли, например, заставить такую программу отправить файлы с чужого компьютера на мой? Как сделать чтобы программу нельзя было закрыть (как антивирус) в диспетчере? Можно ли отключить выполнение программы, которую не получается закрыть через диспетчер (например, антивирус; как антивирус отреагирует на это?)? И… вы учились это делать сами, через интернет или профессия обязывает?

    • admin в cказал :

      Другими словами вы хотите написать вирус. Тогда диспетчер задач и антивирус должны волновать вас в последнюю очередь, так как второе не будет ругаться на получение списка всех файлов, а на первое человек может обратить внимание только если вирусняк спалится.

      Лучше задумайтесь над тем, как вы доставите ваш вирус на компьютер жертвы и куда он потом отправит столь желанный список файлов?

      P.S. Почитайте раздел «пишем вирусы» на этом сайте. Для начинающих можно немного полезного нахвататься, однако про серьезные вирусы там ничего практически нет.

      P.S.S. Почитайте статью Как удалить вирусы, что познакомит вас с автозагрузкой, что очень полезно и жизненно необходимо для вируса.

Добавить комментарий

Ваш комментарий появится после модерации.