Read a file from a resource and write it to disk in C#

前端 未结 3 449
无人共我
无人共我 2021-01-22 05:32

I have some files, which are embedded in a resource. How can I save these files on disk via C#?

相关标签:
3条回答
  • 2021-01-22 05:41

    This should do your job:

            string strTempFile = Path.GetTempFileName();
            File.WriteAllBytes(strTempFile, Properties.Resources.YourBinaryFileInResource);
    

    Be sure, that the FileType of the included files is set to "binary".

    0 讨论(0)
  • 2021-01-22 06:00

    You can get the resource stream, then read from the stream while writing to the file.

            byte[] buffer = new byte[1024];
            using (Stream output = File.OpenWrite("filename"))
            {
                using (Stream resourceStream = typeof(Class1).Assembly.GetManifestResourceStream("name of resource"))
                {
                    int bytes = -1;
                    while ((bytes = resourceStream.Read(buffer, 0, buffer.Length)) > 0)
                    {
                        output.Write(buffer, 0, bytes);
                    }
                }
            }
    

    Code is completely untested, just to give you an idea.

    0 讨论(0)
  • 2021-01-22 06:04

    using streams: GetManifestResourceStream gives you a stream to the file in the resource and using a StreamWriter you can write the contents of that stream to disk.

    0 讨论(0)
提交回复
热议问题