Похожие презентации:
d21092e7acb144218abb576bb411ca55
1. Структурированный тип данных – множество. Операции над множествами
Лекция 92. Понятие
Множество C# — это структура данных,представляющая собой не организованный
набор уникальных элементов одного типа.
Пример:
3. Операции над множествами
1. Add— добавление элемента. Если такой
элемент уже присутствует, то он не будет
добавлен.
2. Remove
—
удаление
элемента
из
множества.
3. Union — объединение множеств. Создается
новое множество, включающее в себя все
элементы из множества А и множества В.
Если
элемент
содержится
в
обоих
множествах, он будет добавлен однократно.
4. Difference — разность множеств. Создается
новое множество, включающее в себя все
элементы множества А, которые не входят в
множество В.
4. Операции над множествами
Intersection — пересечение множеств.Создается новое множество, включающее в
себя все элементы входящие одновременно
и в множество А, и в множество В.
6. Subset — проверка на подмножество.
Чтобы быть подмножеством, все элементы
множества А должны содержаться в
множестве В. Тогда множество А является
подмножеством множества В.
5.
5. Комбинированный тип данных – запись. Файлы последовательного доступа. Файлы прямого доступа.
Лекция 106. Работа с файлами и каталогами
Примеры операций:1. запись текста из файла или чтение
2. удаление файлов или каталогов
3. создание текстового редактора и т. д.
Фреймворк.NET
позволяет
выполнять
манипуляции
файлами
и
каталогами,
которые
содержаться
в
пространстве
имен System.IO.
Классы,
расположенные
в
этом
пространстве имен (такие как Stream,
StreamWriter, FileStream и др.), позволяют
управлять файловым вводом-выводом.
7. Работа с дисками
Для представления диска в пространствеимен System.IO имеется класс DriveInfo.
Этот
класс
имеет
статический
метод GetDrives, который возвращает имена
всех логических дисков компьютера.
8. Свойства метода GetDrives
Свойства метода GetDrivesAvailableFreeSpace: указывает на объем
доступного свободного места на диске в
байтах
2. DriveFormat:
получает
имя
файловой
системы
3. DriveType: представляет тип диска
4. IsReady: готов ли диск (например, DVDдиск может быть не вставлен в дисковод)
5. Name: получает имя диска
6. TotalFreeSpace: получает общий объем
свободного места на диске в байтах
7. TotalSize: общий размер диска в байтах
8. VolumeLabel: получает или устанавливает
метку тома
1.
9. Пример:
10. Создание файла
Для создания пустого файла, вклассе File есть метод Create(). Он
принимает один аргумент – путь. Если
файл с таким именем уже существует,
он будет переписан на новый пустой
файл.
Пример создания пустого
текстового файла new_file.txt на
диске D:
11. Запись в файл
Метод WriteAllText() создает новыйфайл
(если
такого
нет),
либо
открывает существующий и записывает
текст, заменяя всё, что было в файле:
12. Запись в файл
Метод AppendAllText() работает,как
и
метод
WriteAllText()
за
исключением того, что новый текст
дописывается в конец файла, а не
переписывает всё что было в файле:
13. Удаление файла
Метод Delete() удаляет файл поуказанному пути:
14. Использование потоков
Читать/записывать данные в файл можно спомощью потоков.
Поток – это абстрактное представление данных
(в байтах), которое облегчает работу с ними.
В качестве источника данных может быть файл,
устройство ввода-вывода, принтер.
Класс Stream является абстрактным базовым
классом для всех потоковых классов.
Для
работы
с
файлами
используется
класс FileStream (файловый поток).
FileStream - представляет поток, который
позволяет выполнять операции чтения/записи в
файл.
15. Режимы открытия FileMode
Append – открывает файл (если существует) ипереводит указатель в конец файла (данные будут
дописываться в конец), или создает новый файл.
Данный режим возможен только при режиме доступа
FileAccess.Write.
Create - создает новый файл (если существует –
заменяет)
CreateNew – создает новый файл (если существует –
генерируется исключение)
Open - открывает файл (если не существует –
генерируется исключение)
OpenOrCreate – открывает файл, либо создает
новый, если его не существует
Truncate – открывает файл, но все данные внутри
файла затирает (если файла не существует –
генерируется исключение)
16. Режим доступа FileAccess
Режим доступа FileAccessRead – открытие файла только на
чтение.
При
попытке
записи
генерируется исключение.
Write - открытие файла только на
запись.
При
попытке
чтения
генерируется
исключение.
ReadWrite - открытие файла на чтение
и запись.
17. Чтение потока из файла
StreamReader - чтение данных изпотока.
В нем реализовано множество методов
для удобного считывания данных.
Метод ReadToEnd() считывает все данные
из файла.
ReadLine() – считывает одну строку
(указатель потока при этом переходит на
новую строку, и при следующем вызове
метода будет считана следующая строка).
Свойство
EndOfStream
указывает,
находится ли текущая позиция в потоке в
конце потока (достигнут ли конец файла).
Возвращает true или false.
18. Чтение потока из файла
Пример вывода содержимого файла наэкран:
19. Запись в файл
Длязаписи
данных
в
поток
используется класс StreamWriter.
Метод WriteLine() записывает в
файл построчно (то же самое, что и
простая запись с помощью Write(),
только в конце добавляется новая
строка).
Нужно всегда помнить, что после
работы с потоком, его нужно закрыть
(освободить ресурсы), использовав
метод Close().
20. Запись в файл
Пример записи в файл:Кодировка,
в
которой
будут
считываться/записываться
данные
указывается
при
создании
StreamReader/StreamWriter:
21. Запись в файл
Прииспользовании
StreamReader
и
StreamWriter можно не создавать отдельно
файловый поток FileStream, а сделать это
сразу
при
создании
StreamReader/StreamWriter:
22. Бинарные файлы. BinaryWriter и BinaryReader
Дляработы
с
бинарными
файлами
предназначена пара классов BinaryWriter и
BinaryReader. Эти классы позволяют читать и
записывать данные в двоичном формате.
Основные метода класса BinaryWriter:
Close(): закрывает поток и освобождает
ресурсы
Flush(): очищает буфер, дописывая из
него оставшиеся данные в файл
Seek(): устанавливает позицию в потоке
Write(): записывает данные в поток
23. Бинарные файлы. BinaryWriter и BinaryReader
Основные метода класса BinaryReader1. Close(): закрывает поток и освобождает
ресурсы
2. ReadBoolean(): считывает значение bool и
перемещает указатель на один байт
3. ReadByte():
считывает один байт и
перемещает указатель на один байт
4. ReadChar(): считывает значение char, то
есть
один
символ,
и
перемещает
указатель на столько байтов, сколько
занимает символ в текущей кодировке
5. ReadDecimal():
считывает
значение
decimal и перемещает указатель на 16
байт
24. Бинарные файлы. BinaryWriter и BinaryReader
ReadDouble(): считывает значение doubleи перемещает указатель на 8 байт
7. ReadInt16(): считывает значение short и
перемещает указатель на 2 байта
8. ReadInt32(): считывает значение int и
перемещает указатель на 4 байта
9. ReadInt64(): считывает значение long и
перемещает указатель на 8 байт
10. ReadSingle(): считывает значение float и
перемещает указатель на 4 байта
11. ReadString(): считывает значение string.
Каждая строка предваряется значением
длины строки, которое представляет 7битное целое число
6.
25. Получение информации о файле
Удаление файла26. Перемещение файла
27. Копирование файла
28. Работа с папками
Создание папки:С помощью статического
метода CreateDirectory() класса Directory:
1.
Удаление папки:
Для
удаления
папок
метод Delete():
2.
используется
Если папка не пустая, необходимо указать
параметр рекурсивного удаления - true:
Программирование