Как выгрузить ресурс в папку? C#

656
30 января 2017, 16:00

Подскажите как мне выгрузить ресурс в папку. Пример: Я добавил ttf в ресурсы, как мне ее скинуть на рабочий стол?

Answer 1

Понял как это реализовать. Так как ресурс бинарный, то можно реализовать так:

File.WriteAllBytes(@"C:\font.ttf", ProjectName.Properties.Resources.font);
Answer 2

Есть еще одно, достаточно неплохое решение (взято на en SO), немного модернизировал:

// fileName - это полный путь с именем файла
public void SaveResource(string resourceName, string fileName)
{
    using (var resource = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
    {
        using (var file = new FileStream(fileName, FileMode.Create, FileAccess.Write))
        {
            resource?.CopyTo(file);
        }
    }
}

И, кстати, у Вас решение для бинарных файлов, для тестового к примеру вот так:

File.WriteAllText(fileName, Properties.Resources.file);

И, еще будет полезно, если это картинка, то у ресурса будет метод .Save(string filename), к примеру если добавить в ресурсы img.jpg, то будет так:

Properties.Resources.img.Save("--путь--\\img.jpg");

Можно сохранить в указанное место.

READ ALSO
Сортировка List<T> по нескольким полям c учётом приоритета

Сортировка List<T> по нескольким полям c учётом приоритета

Имеется List<T>, где T является каким-то классом с полямиТакже имеется класс, содержащий параметры сортировки:

618
Unity Удаление объектов (игра на подобие match 3)

Unity Удаление объектов (игра на подобие match 3)

Ситуация такая: пишу игру, на подобие match3, те 3 в ряд и ума не приложу как правильно сделать удаление ячейки и появление новых

515