Передача массива байт на вход методу

148
16 сентября 2017, 21:54

Доброго времени суток. Разбираюсь с исходником одной программы, которая распаковывает rar-файлы (NUnrar - https://nunrar.codeplex.com/SourceControl/latest). Так вот, как её использовать:

RarArchive archive = RarArchive.Open(path);

В данной строчке создаётся объект, в котором собрана первичная информация о rar файле (сколько в нём файлов внутри, запаролен ли он и т.д.) Проблема в том, что на вход методу Open() нужно передавать путь до файла, что для меня не очень удобно. В библиотеке есть несколько перегрузок данного метода. Вот они:

   `public static RarArchive Open(FileInfo fileInfo);
    public static RarArchive Open(IEnumerable<Stream> streams);
    public static RarArchive Open(Stream stream);
    public static RarArchive Open(string filePath);
    public static RarArchive Open(FileInfo fileInfo, RarOptions options);
    public static RarArchive Open(IEnumerable<Stream> streams, RarOptions options);
    public static RarArchive Open(Stream stream, RarOptions options);
    public static RarArchive Open(string filePath, RarOptions options);`

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

Answer 1

Одна из перегрузок принимает Stream, а его можно создать из массива байт с помощью MemoryStream:

Stream s = new MemoryStream(byteArray);
RarArchive archive = RarArchive.Open(s);
READ ALSO
Двумерные массивы c# как в php

Двумерные массивы c# как в php

Конструкция в php:

184
не вычисляется значение

не вычисляется значение

Не вычисляются переменные pozblx и pozbly которые должны представлять собой позицию блока div,после исполнения pozblx и pozbly принимают предустановленые...

226
Как из массива получить значения и разбить их на буквы?

Как из массива получить значения и разбить их на буквы?

Есть какой-то элегантный способ разбить значение на буквы, за тем перейти к следующему значению? У меня что-то одни костыли да ошибки получаются

424
Как в javascript &ldquo;закрывать&rdquo; div при клике вне этого дива?

Как в javascript “закрывать” div при клике вне этого дива?

При клике по некоторому элементу управления на экране появляется div c текстом подсказокУ дива есть кнопка "закрыть"

284