Заметки о Windows и других программных продуктах Microsoft...

Считываем файл в массив байтов

Считываем файл в массив байтов

Если требуется считать двоичный файл в массив байтов, то сделать это можно с помощью PowerShell.

Для этой цели можно использовать метод ReadAllBytes класса File. Этот метод открывает двоичный файл, считывает его в массив байт и закрывает файл. Для примера считаем таким образом изображение в формате jpg, поместим его в переменную и посмотрим тип данных.

$file = [io.file]::ReadAllBytes('c:\files\pic1.jpg')

Как видите, в переменной $file находится массив байт.

считываем файл в массив байтов

 

Ну и для обратной операции, т.е. сохранения массива байт в файл, используем метод WriteAllBytes. Например:

[io.file]::WriteAllBytes('c:\files\pic2.jpg',$file)

Этот метод создает новый файл, записывает в него массив байт и закрывает файл. Если указанный файл существует, он будет перезаписан. В результате получим точную копию исходного файла.

сохраняем массив байтов в файл

 

Конечно, копировать таким способом файлы не очень удобно 🙂 Но данный метод можно использовать в различных ситуациях, к примеру мне он пригодился при выгрузке фотографий из базы MS SQL.

 
 
Комментарии

Можно также применять Get-Content и Set-Content с параметром «-Encoding byte»