Построение пути к файлу с помощью Path.Combine C#
При использовании различных методов ввода для получения пути к файлу и имени файла формат результатов может отличаться. Чтобы избежать проблем с проверкой символов разделителя путей и добавлением или удалением их по мере необходимости, .NET предоставляет метод для этого.
Пространство имен System.IO
Пространство имен IO содержит классы, которые предоставляют функции ввода и вывода для потоков, файлов и папок. В этом пространстве имен находится класс Path, который выполняет операции со строками, содержащими информацию о пути к файлу. Один из методов класса, называемый Combine, может использоваться для объединения фрагментов пути при автоматической обработке проблем с отсутствующими символами-разделителями.
Path.Combine
Метод Combine принимает два строковых параметра. Каждый из них представляет собой фрагмент пути к файлу, который необходимо объединить. Метод добавляет второй параметр к первому и возвращает новый путь в соответствии со следующими правилами.
- Если первый путь является только буквой диска, например "C:", он остается неизменным.
- Если первый путь - это не просто буква диска, метод объединения гарантирует, что он заканчивается символом-разделителем.
- Если второй параметр начинается с символа-разделителя, он считается корневой папкой и возвращается в результате всей операции.
- Если второй параметр не начинается с символа-разделителя, он добавляется к первому параметру.
Приведенные ниже примеры демонстрируют четыре правила. Убедитесь, что вы добавили с using System.IO; к началу вашего файла кода, чтобы выполнить следующее:
Console.WriteLine(Path.Combine("d:", "file.txt")); Console.WriteLine(Path.Combine(@"d:\", "file.txt")); Console.WriteLine(Path.Combine(@"d:\path1", @"\file.txt")); Console.WriteLine(Path.Combine(@"d:\path1", "file.txt")); Console.WriteLine(Path.Combine(@"d:\path1\", "file.txt")); /* d:file.txt d:\file.txt \file.txt d:\path1\file.txt d:\path1\file.txt */
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Читайте также:
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.