Использование класса File для записи двоичных файлов в VB .NET - PullRequest
1 голос
/ 22 мая 2011

Я пытаюсь написать простое приложение, которое отслеживает COM-порт и записывает входящие двоичные данные в файл.Итак, я понял, что предоставляется класс File , но, глядя на список его методов на странице справки , я не вижу метода для записи отдельных байтов (и методы Write, похоже, закрываютфайл после записи).

Как записать байтовый массив в файл, оставить его открытым и повторить, если необходимо?

(я использую Visual Studio 2005, если это актуально.)

Ответы [ 3 ]

2 голосов
/ 22 мая 2011

Использование BinaryWriter.Write метод:

BinaryWriter binWriter = new BinaryWriter(File.Open(@"C:\Test.txt", FileMode.Create)))

byte[] byteValue = // set the value here ..
binWriter.Write(byteValue );

См .:

Класс BinaryWriter

2 голосов
/ 22 мая 2011

Используйте FileStream:

Dim file As FileStream = File.OpenWrite(fileName)

Вы используете метод Write для записи байтового массива (или его части) в поток:

file.Write(buffer, 0, buffer.Length)

Write метод не закрывает поток, вы можете написать столько раз, сколько захотите.

Когда вы написали, что хотите, вы используете метод Close, чтобы закрыть поток:

file.Close()
2 голосов
/ 22 мая 2011

Вы ищете BinaryWriter класс , также в пространстве имен System.IO.

Различные перегрузки Write method позволяет записывать значения в файл, а затем увеличивать текущую позицию в потоке на соответствующее количество байтов.

...