Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
c#_Presentation_11.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
740.35 Кб
Скачать

If (Directory.Exists(currentDir)) // Если папка существует

{ // Создание папок и файлов

Directory.CreateDirectory(sourceDir); // Созание

Directory.CreateDirectory(sourceDir + @"\Dir"); // новых

Directory.CreateDirectory(destDir); // папок

StreamWriter f1 = File.CreateText(sourceDir +

@"\Test1.txt"); // Созание файла

f1.WriteLine("Test 1"); // Запись в файл

f1.Close(); // Закрытие файла

StreamWriter f2 = File.CreateText(sourceDir +

@"\Test2.txt"); // Созание файла

f2.WriteLine("Test 2"); // Запись в файл

f2.Close(); // Закрытие файла

Console.WriteLine("Папки и файлы созданы.");

}

Console.ReadLine();

// Вывод содержимого папки и подсчет папок и файлов в ней

Console.WriteLine("Содержимое папки {0} :", sourceDir);

foreach (string fName in Directory.GetDirectories(sourceDir))

Console.WriteLine(" {0}\t\t<папка>", fName);

foreach (string fName in Directory.GetFiles(sourceDir))

Console.WriteLine(" {0}", fName);

Console.WriteLine("Итого: {0} папок и {1} файлов.",

Directory.GetDirectories(sourceDir).Length,

Directory.GetFiles(sourceDir).Length);

Console.ReadLine();

If (Directory.Exists(sourceDir) & Directory.Exists(destDir) &

!Directory.Exists(moveDir))

{ Directory.Move(sourceDir, moveDir); // Перемещение папки

Console.WriteLine("Папка {0} перемещена в {1} .",

sourceDir, moveDir);

}

Console.ReadLine();

If (Directory.Exists(destDir)) // Если папка существует

{ Directory.Delete(destDir, true); // Удаление папки

Console.WriteLine("Папка {0} со всем содержимым удалена.",

destDir);

}

Console.ReadLine();

}

}

/* Вывод:

Папки и файлы созданы.

Содержимое папки c:\temp\Source :

c:\temp\Source\Dir <папка>

c:\temp\Source\Test1.txt

c:\temp\Source\Test2.txt

Итого: 1 папок и 2 файлов.

Папка c:\temp\Source перемещена в c:\temp\Destination\Source .

Папка c:\temp\Destination со всем содержимым удалена.

*/

11.5. Использование класса System.Io.Path для работы со строкой пути к папке или файлу

(http://msdn.microsoft.com/ru-ru/library/system.io.path.aspx)

Таблица 11.10. Основные поля и методы класса Path из пространства имен System.IO

Имя

Описание

Поля

AltDirectorySeparatorChar

Возвращает дополнительный символ, задавае-мый платформой, для разделения уровней каталогов в строке пути, в которой отражена иерархическая организация файловой системы. В операционной системе Windows значением этого поля является знак косой черты (/).

DirectorySeparatorChar

Возвращает символ, задаваемый платформой, для разделения уровней папок в строке пути, в которой отражена иерархическая организация файловой системы. В операционной системе Windows значением этого поля является знак обратной косой черты (\).

PathSeparator

Возвращает разделитель, задаваемый платфор-мой, который используется в переменных среды для разделения строк пути. В операционной системе Windows значением этого поля является знак точки с запятой (;).

VolumeSeparatorChar

Возвращает разделитель томов, задаваемый платформой. В операционной системе Windows значением поля является знак двоеточия (:).

Методы

ChangeExtension(path,ext);

Изменяет расширение (ext) в строке пути (path).

Combine(sp1,sp2);

Combine(sp1,sp2,sp3);

Combine(sp1,sp2,sp3,sp4);

Combine(sPath);

Объединяет несколько строк (sp1-sp4) или массив строк (sPath) в строку пути.

GetDirectoryName(sp);

Возвращает для указанной строки пути (sp) имя каталога или значение null, если путь указывает на корневой каталог или пуст.

GetExtension(sp);

Возвращает расширение файла в указанной строке пути (sp).

GetFileName(sp);

Возвращает имя файла и его расширение для указанной строки пути (sp).

GetFileNameWithoutExtension(sp);

Возвращает имя файла без расширения для указанной строки пути (sp).

GetFullPath(sp);

Возвращает для указанной строки пути (sp) абсолютный путь.

GetInvalidFileNameChars();

Возвращает массив, содержащий символы, которые не разрешены в именах файлов.

GetInvalidPathChars();

Возвращает массив, содержащий символы, которые не разрешены в строке пути.

GetPathRoot(sp);

Возвращает для указанного пути (sp) сведения о корневом каталоге.

GetRandomFileName();

Возвращает произвольное имя каталога или файла.

GetTempFileName();

Создает на диске временный пустой файл с уникальным именем и возвращает полный путь для этого файла.

GetTempPath();

Возвращает путь к временной папке текущего пользователя, заканчивающийся обратной косой чертой (\).

HasExtension(sp);

Определяет, включает ли строка пути (sp) расширение имени файла.

IsPathRooted(sp);

Определяет, содержит ли строка пути (sp) корень. Значение true возвращается, если первый символ строки пути является разделителем каталога (например, "\") или если путь начинается с буквы диска и двоеточия (:).

Пример 11.10. Использование методов класса Path для получения информации о строке пути к папке или файлу.

using System;

using System.IO;

class TestPath

{ public static void Main()

{ string path1 = @"c:\temp\MyTest.txt";

string path2 = @"c:\temp\MyTest";

string path3 = @"temp";

string result;

result = Path.ChangeExtension(path1, ".dat");

Console.WriteLine("В пути '{0}' расширение изменено на '{1}'.",

path1, result);

Console.WriteLine("Файл '{0}' находится в папке '{1}'.",

Path.GetFileName(path1),

Path.GetDirectoryName(path1));

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]