Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
FileStream(string filename, FileMode mode, FileAccess how)
Значение, передаваемое с помощью параметра how, определяет способ доступ к файлу. Этот параметр может принимать одно из значений, определенных перечислением FileAccess: FileAccess.Read, FileAccess.Write, FileAccess.ReadWrite.
Текстовые файлы Несмотря на то, что байтовая обработка данных получила широкое распространение, C# также поддерживает работу с символьными потоками, а, следовательно, с текстовыми файлами. Символьные потоки работают непосредственно с Unicode-символами. В общем случае, чтобы выполнять файловые операции с текстом, нужно поместить объект класса FileStream внутрь объекта класса StreamReader или класса StreamWriter. Эти классы автоматически преобразуют байтовый поток в символьный и наоборот. Иерархия классов, предназначенных для работы с текстовыми файлами, приведена на рисунке 4.2.
Рис. 4.2. Иерархия классов работы с текстовыми файлами
В классах StreamWriter и StreamReader определено несколько конструкторов. Чащевсегоиспользуютсяследующийформат: StreamWriter(Stream stream) StreamReader(Stream stream) Здесь элеменstream означает имя открытого потока. Эти конструкторы генерируют исключения типа ArgumentException, если поток stream не открыт для вывода или ввода соответственно, и исключение типа ArgumentNullException, если он (поток) имеет null-значение. Созданные объекты автоматически выполняют преобразование символов в байты или наоборот. Иногда удобнее открывать файл с помощью классов StreamWriter и StreamReader. Дляэтогоиспользуютсяследующиеконструкторы: StreamWriter(stringfilename) StreamReader(stringfilename) Здесь элемент filename означает имя открываемого файла, причем имя может включать полный путь к файлу. Значительная часть функциональных возможностей класса StreamWriter обеспечивается при помощи компонентов, унаследованных от TextWriter. Эти компоненты представлены в таблице:
Соответственно, большинство компонентов класса StreamReader для чтения из текстового файла унаследовано от класса TextReader:
Двоичные файлы Для считывания и записи двоичных значений встроенных C#-типов используются классы BinaryReader и BinaryWriter. Иерархия этих классов приведена на рисунке 4.3.
Рис. 4.3. Иерархия классов двоичных файлов
Классы BinaryWriter и BinaryReader представляют собой оболочки для байтового потока, которые управляют соответственно записью и чтением двоичных данных. Их наиболее часто используемые конструкторы имеют вид: |
||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-06-01; просмотров: 165. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |