Kottan
Kottan

Reputation: 5056

.NET: Open files, which are embedded in a resource file

How can I open files, which are embedded in a resource file, like a file on the harddisk (with an absolute path) ?

Upvotes: 6

Views: 6635

Answers (1)

Darin Dimitrov
Darin Dimitrov

Reputation: 1038780

Suppose that you have the test.xml file embedded into the assembly. You could use the GetManifestResourceStream method to obtain a stream pointing towards the contents:

class Program
{
    static void Main()
    {
        var assembly = Assembly.GetExecutingAssembly();
        using (var stream = assembly.GetManifestResourceStream("ProjectName.test.xml"))
        using (var reader = new StreamReader(stream))
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}

This way the contents of the file is read into memory. You can also store it to the harddisk and then access by absolute path but this might not be necessary as you already have the contents of the file.

Upvotes: 12

Related Questions