Основы C# Урок 58. Класс Path
Класс Path предназначен для работы с файловыми путями (что,
вобщем-то, совсем не удивительно). Этот класс обладает целым
рядом полезных статических методов, которые мы сейчас и
рассмотрим на конкретном примере. // Получение используемого в операционной системе
// разделителя для путей.
char ch = Path.DirectorySeparatorChar;
Console.WriteLine(ch); // Выведется "\".
// Получение всех запрещенных в имени пути символов.
char[] chs = Path.InvalidPathChars;
foreach (char c in chs)
{
Console.Write(c + " ");
}
Console.WriteLine();
//////////
// Работа с путями.
//////////
// Изменение расширения файла.
string s = Path.ChangeExtension(@"c:\tmp.txt", "ini");
Console.WriteLine(s); // Выведется "c:\tmp.ini".
// Получение имени файла.
s = Path.GetFileName(@"c:\tmp.txt");
Console.WriteLine(s); // Выведется "tmp.txt".
// Получение расширения файла (вместе с точкой).
s = Path.GetExtension(@"c:\tmp.txt");
Console.WriteLine(s); // Выведется ".txt".
// Получение имени файла без расширения.
s = Path.GetFileNameWithoutExtension(@"c:\tmp.txt");
Console.WriteLine(s); // Выведется "tmp".
//Получение полного имени файла по относительному.
s = Directory.GetCurrentDirectory();
Console.WriteLine(s); // Выведется, например, "C:\Path\bin\debug".
s = Path.GetFullPath(@"..\..\tmp.txt");
Console.WriteLine(s); // Выведется "C:\Path\tmp.txt".
// Получение имени временного файла (вместе с путем).
s = Path.GetTempFileName();
Console.WriteLine(s);
// Получение пути к папке для временных файлов.
s = Path.GetTempPath();
Console.WriteLine(s);
Обратите внимание, что класс Path при работе с путями не
требует, чтобы такой путь действительно существовал. Например,
в нашем римере не подразумевается, что файл c:\tmp.txt
существует. Это, в частности, означает, что метод
ChangeExtension в реальности не меняет разширение у файла - он
просто создает строку с другим расширением, которую вы сами
должны использовать для реального переименования (например,
через статический метод Move класса File - см. урок
52). |