博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

导出resource文件的的资源

Posted on 2014-12-28 17:03  快乐家++  阅读(615)  评论(1编辑  收藏  举报
写个小工具,方便一次性将resource文件中的资源导出,不然反编译后一个个找,真是太麻烦了。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Resources;
using System.Collections;
using System.IO;

namespace ResExport
{
    class Program
    {
        static void Main(string[] args)
        {
            ResourceReader res = new ResourceReader("MSVirtualEvent.g.resources");//该文件放到bin
            IDictionaryEnumerator dics = res.GetEnumerator();
            while (dics.MoveNext())
            {
                Stream s = (Stream)dics.Value;
                int fileSize = (int)s.Length;
                byte[] fileContent = new byte[fileSize];
                s.Read(fileContent, 0, fileSize);
                FileStream fs;
                string filepath = dics.Key.ToString();
                filepath=Path.Combine("C://",filepath); //保存到指定目录
                filepath = Path.GetFullPath(filepath);
                var   p = Path.GetDirectoryName(filepath);//要创建的目录
                if (!Directory.Exists(p))
                {
                    Directory.CreateDirectory(p);
                }

                FileInfo fi = new System.IO.FileInfo(filepath);
                fs = fi.OpenWrite();
                fs.Write(fileContent, 0, fileSize);
                fs.Close();
            }

            res.Close();

        }