
- •Основы c#. Урок 1. Что такое c#?
- •Основы c#. Урок 2. Что такое net Runtime?
- •Основы c#. Урок 3. Первая программа на c#
- •Основы c#. Урок 4. Переменные языка c#
- •Основы c#. Урок 5. Логические операторы
- •Основы c#. Урок 6. Массивы в c#
- •Основы c#. Урок 7. Операторы if и switch
- •Основы c#. Урок 8. Циклы for и foreach
- •Основы c#. Урок 9. Цикл while
- •Основы c#. Урок 10. Классы в c#
- •Основы c#. Урок 11. Конструкторы классов
- •Основы c#. Урок 12. Наследование
- •Основы c#. Урок 13. Запись в экземпляр базового класса экземпляра производного
- •Основы c#. Урок 14. Вложенные классы
- •Основы c#. Урок 15. Перегрузка бинарных операторов
- •Основы c#. Урок 16. Перегрузка унарных операторов
- •Основы c#. Урок 17. Область видимости
- •Основы c#. Урок 18. Виртуальные функции
- •Основы c#. Урок 19. Абстрактные классы
- •Основы c#. Урок 20. Запрещение наследования или модификатор sealed
- •Основы c#. Урок 21. Статические переменные
- •Основы c#. Урок 22. Статические методы класса
- •Основы c#. Урок 23. Статические конструкторы
- •Основы c#. Урок 24. Закрытые конструкторы или классы без экземпляров
- •Основы c#. Урок 25. Передача параметров переменой длины
- •Основы c#. Урок 26. Строки (класс System.String)
- •Основы c#. Урок 27. Строки (класс StringBuilder)
- •Основы c#. Урок 28. Передача параметров по ссылке и по значению (ref и out)
- •Основы c#. Урок 29. Пример передачи по ссылке
- •Основы c#. Урок 30. Перегрузка
- •Основы c#. Урок 31. Функции класса System.Array
- •Основы c#. Урок 32. Делегаты
- •Основы c#. Урок 33. События
- •Основы c#. Урок 34. Пример класса с событием
- •Основы c#. Урок 35. Введение в атрибуты
- •Основы c#. Урок 36. Пример пользовательского атрибута
- •Основы c#. Урок 37. Параметры командной строки
- •Основы c#. Урок 38. Метод Main в отдельном классе
- •Основы c#. Урок 39. Форматированный вывод
- •Основы c#. Урок 40. Класс System.Object
- •Основы c#. Урок 41. Методы класса System.Object
- •Основы c#. Урок 42. Переопределяем методы класса System.Object
- •Основы c#. Урок 43. Константы
- •Основы c#. Урок 44. Модификаторы доступа
- •Основы c#. Урок 45. Ссылка на текущий экземпляр класса (this)
- •Основы c#. Урок 46. Класс Environment
- •Основы c#. Урок 47. Работаем со специальными папками
- •Основы c#. Урок 48. Получаем список всех дисков
- •Основы c#. Урок 49. Ввод/вывод в c# (System.Io)
- •Основы c#. Урок 50. Классы для работы с папками и файлами
- •Основы c#. Урок 51. Класс Directory
- •Основы c#. Урок 52. Класс File
- •Основы c#. Урок 53. Класс FileSystemInfo
- •Основы c#. Урок 54. Класс DirectoryInfo
- •Основы c#. Урок 55. Перечисление FileAttributes
- •Основы c#. Урок 56. Класс FileInfo
- •Основы c#. Урок 57. Пример: получение имен всех подпапок
- •Основы c#. Урок 58. Класс Path
- •Основы c#. Урок 59. Класс FileSystemWatcher
- •Основы c#. Урок 60. Перечисление NotifyFilters
- •Основы c#. Урок 61. Перечисление WatcherChangeTypes
- •Основы c#. Урок 62. Класс FileSystemWatcher - пример использования
- •Основы c#. Урок 63. Сериализация класса
- •Основы c#. Урок 64. Класс BitArray
- •Основы c#. Урок 65. Класс Stack
- •Основы c#. Урок 66. Класс SortedList
- •Основы c#. Урок 67. Конвертация типов через класс Convert
- •Основы c#. Урок 68. Работа с перечислениями (enum)
- •Основы c#. Урок 69. Использование атрибута Flags для перечисления
- •Основы c#. Урок 70. Использование атрибута Flags для перечисления 2
- •Основы c#. Урок 71. Nullable типы
- •Основы c#. Урок 72. Reflection - динамическое создание кода
- •Основы c#. Урок 73. Reflection - создание enum'ов
Основы c#. Урок 52. Класс File
Класс File предназначен для работа с файлами. Он содержит статические методы, котроые позволяют создавать, удалять, переименовывать и делать другие действия с файлами. Для этого класса существует парный класс FileInfo, содержащий аналогичные методы экземпляра класса.
Вот основные методы класса File (все они, разумеется, статические):
Create - создание файла.
Exists - проверка существования файла.
Delete - удалениие файла.
Move - переименование и перемещение файла.
Copy - копирование файла.
А вот пример, демонстрирующий применение этих методов:
using System;
// Подключаем необходимое пространство имен.
using System.IO;
namespace contest
{
class Test
{
public static void Main()
{
// Создаем файл.
File.Create("C:\\0.txt");
// Проверка существования файла.
if(File.Exists("C:\\1.txt"))
{
// Удаление файла.
File.Delete("C:\\1.txt");
}
// Переименование файла a.txt в b.txt.
File.Move("C:\\a.txt", "C:\\b.txt");
// Перемещение файла.
File.Move("C:\\c.txt", "D:\\c.txt");
// Копирование файла.
File.Copy("D:\\z.txt", "D:\\x.txt");
}
}
}
Обратите внимание, что и для перемещения, и для переименования файла мы используем один и тот же статичесикй метод Move (так как по сути это одна и та же операция).
Основы c#. Урок 53. Класс FileSystemInfo
Класс FileSystemInfo является предком для классов DirectoryInfo и FileInfo. Именно поэтому мы и рассмотрим этот класс прежде рассматрения классов DirectoryInfo и FileInfo.
Класс FileSystemInfo содержит ряд свойств, которые позврляют получить общие характеристики файла или папки - например, время создания, различные атрибуты (только для чтения, скрытый и т. п.).
Вот наиболее важные методы свойства и методы этого класса (все эти свойства и методы применимы как к файлам, так и к папкам):
Delete - метод для удаления.
Refresh - метод для обновления информации о файле или папке (вызывается, например, перед получением атрибутов).
CreationTime - читает или задает время создания.
LastAccessTime - читает или задает время последнего доступа.
LastWriteTime - читает или задает время последней записи.
Attributes - читает или задает атрибуты (скрытый, сжатый, системный, временный, только для чтения и др.). Один из атрибутов (а именно Directory) позволяет выяснить, не является ли объект папкой.
FullName - читает полное имя (диск, папки, подпапки и т. д.).
Name - имя файла или папки.
Extension - расширение.
Exists - существование файла или папки.
Примеры использования этих методов и свойств иы рассмотрим на следующих уроках для потомков класса FileSystemInfo - т. е. для классов DirectoryInfo и FileInfo.
Основы c#. Урок 54. Класс DirectoryInfo
Класс DirectoryInfo предназначен для работы с папками. Он позволяет делать стандартные операции - перемещение, удаление, создание папок и подпапок и др.. Кроме того, методы этого класса позволяют получить все подкаталоги и файлы указанной папки. В отличие от класса Directory, методы класса DirectoryInfo - это методы экземпляра (т. е. они не статические).
Вот пример использования этого класса:
// Создание объекта.
DirectoryInfo di = new DirectoryInfo("c:\\tmp\\tmp2");
// Создаем папку.
di.Create();
// Вывод информации о папке.
String s = "";
s += "Full nane: " + di.FullName + "\n";
s += "Root: " + di.Root + "\n";
s += "Name: " + di.Name;
MessageBox.Show(s);
// Перемещение папки.
di.MoveTo("c:\\tmp\\tmp3");
// Создание подпапок.
di.CreateSubdirectory("subdir1");
di.CreateSubdirectory("subdir2");
// Получение имен всех подпапок.
DirectoryInfo [] ds = di.GetDirectories();
foreach(DirectoryInfo d in ds)
{
MessageBox.Show(d.Name);
}
// Удаление папки и всех подпапок.
di.Delete(true);
Обратите внимание, что отдельного метода для переименования нет - для переименования мы используем метод MoveTo, в качестве параметра которого мы указываем новое имя.
Также обратите внимание, что в методе Delete для удаления вместе с папкой всех ее подпапок мы должны указать параметр true. Если же мы укажем параметр false или ничего не укажем, то возникнет соответствующее исключение.