Иллюстрированный самоучитель по VB.NET


Чтение и запись двоичных данных: классы BinaryReader и BinaryWriter


 

Чтение и запись двоичных данных: классы BinaryReader и BinaryWriter


Операции чтения и записи на уровне отдельных байтов слишком примитивны, и пользоваться ими неудобно. По этой причине в .NET Framework предусмотрены гораздо более практичные способы чтения и записи данных в файловые потоки. В этом разделе мы покажем, как использовать классы BinaryReader и BinaryWriter для чтения и записи строк и примитивных типов данных. Эти классы автоматически преобразуют примитивные типы в двоичный формат, подходящий для сохранения на диске или пересылки по сети. X

Объекты Bi naryReader и BinaryWriter создаются посредством многоуровневого объединения конструкторов потоков. Иначе говоря, конструктору класса потока более высокого уровня вместо строки передается существующий объект потока. Пример приведен ниже (в строке выделенной жирным шрифтом):

Dim aFileStream As FileStream Try

aFileStream = New FileStream("c:\data.txt".FileMode.OpenOrCreate._

FileAccess.Write)

Dim myBinaryWriter As New BinaryWriter(aFileStream)

myBinaryWriter.Write("Hello world")

myBinaryWriter.writed) Catch e as Exception

Console.Writeline(e.stacktrace) Finally

If not(aFileStream is Nothing) Then aFileStream.Close()

End Try

Конструктору класса Bi naryWriter передается объект файлового потока aFileStream. Полученный в результате поток обладает расширенными возможностями и поддерживает запись текстовых и числовых данных в файл в двоичном формате. Пример записи с использованием класса BinaryWriter:

myBinaryWriter.Write("Hello world") myBinaryWriter.wri ted)

Работа этого фрагмента основана на перегрузке метода Write в классе Bi naryWriter, позволяющей легко записывать в поток любые базовые типы данных. Ниже перечислены основные перегруженные версии:

Sub Write(Byte)

Sub Write(Byte())

Sub Write(Char)

Sub Write(Char())

Sub Write(Decifnal)

Sub Write(Double)

Sub Write(Short)

Sub Write(Integer)

Sub Write(Long)

Sub Write(Byte)

Sub Write(Single)




- Начало -  - Назад -  - Вперед -



Книжный магазин