none
Извлечение из ресурсов RRS feed

  • Вопрос

  • Здравствуйте!Нужно извлечь из ресурсов файл и потом использовать его в программе.На VBasic было что то типо GetTempFile.И потом его можно копировать и тп.Как такое сделать на C#?
    • Перемещено Tagore Bandlamudi 1 октября 2010 г. 21:32 MSDN Forums consolidation (От:Visual C#)
    14 августа 2010 г. 10:58

Ответы

  • Нужно добавить этот файл в ресурсы приложения через Solution Explorer: Propeties=> Resources.

    В типе ресурсов выбрать Files вместо strings и добавить нужный файл.

    Обращение в файлу производится следующим образом:

    Пространство_имен_приложения.Properties.Resources.Наименование_файла(ресурса)

    Если это текстовый файл, то он будет иметь тип string, если другой, то bytes[].

     

    Пример:

    http://cid-1b2d5620921e98e6.office.live.com/self.aspx/%d0%9e%d0%b1%d1%89%d0%b5%d0%b4%d0%be%d1%81%d1%82%d1%83%d0%bf%d0%bd%d1%8b%d0%b5/WindowsFormsApplication1.zip

     

    Чтобы потом его копировать, можно записать его содержимое стандартными средствами:

    ....


    using(BinaryWriter binWriter =
    new BinaryWriter(File.Open(@"D:\file1.txt", FileMode.Create)))
    {
    }
    binWriter.Write(file_bytes);
    }

    • Предложено в качестве ответа PashaPash 14 августа 2010 г. 19:00
    • Помечено в качестве ответа Lancer2404 15 августа 2010 г. 6:22
    14 августа 2010 г. 13:47

Все ответы

  • Нужно добавить этот файл в ресурсы приложения через Solution Explorer: Propeties=> Resources.

    В типе ресурсов выбрать Files вместо strings и добавить нужный файл.

    Обращение в файлу производится следующим образом:

    Пространство_имен_приложения.Properties.Resources.Наименование_файла(ресурса)

    Если это текстовый файл, то он будет иметь тип string, если другой, то bytes[].

     

    Пример:

    http://cid-1b2d5620921e98e6.office.live.com/self.aspx/%d0%9e%d0%b1%d1%89%d0%b5%d0%b4%d0%be%d1%81%d1%82%d1%83%d0%bf%d0%bd%d1%8b%d0%b5/WindowsFormsApplication1.zip

     

    Чтобы потом его копировать, можно записать его содержимое стандартными средствами:

    ....


    using(BinaryWriter binWriter =
    new BinaryWriter(File.Open(@"D:\file1.txt", FileMode.Create)))
    {
    }
    binWriter.Write(file_bytes);
    }

    • Предложено в качестве ответа PashaPash 14 августа 2010 г. 19:00
    • Помечено в качестве ответа Lancer2404 15 августа 2010 г. 6:22
    14 августа 2010 г. 13:47
  • Подскажите.Я извлекаю ресурс во временную папку.Потом его нужно удалить.Но при дебаге ошибка что процесс не может получить доступ к файлу.
    15 августа 2010 г. 7:20
  • Может лучше вместо временных папок использовать IsolatedStorage ?
    15 августа 2010 г. 13:00
  • Ресурс - случайно не картинка, которую ты потом в Bitmap загружаешь?
    16 августа 2010 г. 11:53
  • Ресурс - случайно не картинка, которую ты потом в Bitmap загружаешь?

    Нет.Есть файл.Который потом добавляется в архив(не zip не RAR).Сейчас туда добавляется файл лежащий рядом с прогой.А я хочу его извлечь в темп и потом юзать.

     

    Можно поподробнее про   IsolatedStorage.

    16 августа 2010 г. 17:13
  • На английском можно посмотреть тут .
    16 августа 2010 г. 18:03
    Модератор