欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

文件批量生成IO流读写

程序员文章站 2023-11-14 21:46:46
/// /// 生成文件的 /// /// public void create(string calssName) { //获取程序集 var createClass = Assembly. ......
/// <summary>
        /// 生成文件的
        /// </summary>
        /// <param name="calssname"></param>
        public void create(string calssname)
        {
            //获取程序集
            var createclass = assembly.load("cloudinnovate.backstage.entity");
            //反射出所有的类
            list<type> ts = createclass.gettypes().tolist();
            //循环生成
            ts.foreach(x =>
            {
                //x.namespace获取命名空间
                var ss = "using " + x.namespace + ";\n" +
                         "using cloudinnovate.coreframework." + calssname + ";\n" +
                         "using system;\n" +
                         "using system.collections.generic;\n" +
                         "using system.text;\n\n" +

                         "namespace cloudinnovate.backstage.i" + calssname + "\n" +
                            "{\n" +
                                "\tpublic interface i" + x.name.substring(0, x.name.length - 6) + "" + calssname + " : ibase" + calssname + "<" + x.name + ">\n" +
                                "\t{\n" +

                                "\t}\n" +
                            "}\n";
                //创建文件夹
                if (!directory.exists(@"c:\users\administrator\desktop\i" + calssname + ""))
                {
                    directory.createdirectory(@"c:\users\administrator\desktop\i" + calssname + "");
                }
                //创建文件夹
                if (!directory.exists(@"c:\users\administrator\desktop\i" + calssname + @"\" + x.name.substring(0, x.name.length - 6) + ""))
                {
                    directory.createdirectory(@"c:\users\administrator\desktop\i" + calssname + @"\" + x.name.substring(0, x.name.length - 6) + "");
                }
                //保存 开启文件流
                using (filestream fs = new filestream(@"c:\users\administrator\desktop\i" + calssname + @"\" + x.name.substring(0, x.name.length - 6) + @"\i" + x.name.substring(0, x.name.length - 6) + "" + calssname + ".cs", filemode.create))
                {
                    //文本写入 开启读写流
                    using (streamwriter sw = new streamwriter(fs))
                    {
                        sw.write(ss);
                    }
                }
            });
        }

 

最近在项目中使用了仓储模式有些代码太过于重复了所以想写个生成。

本来是想用t4模板的,但是感觉t4不好用,所以就是使用了读写了直接写入吧。

主要就是想记录一下,好记性不如烂笔头。所以想博客记录一下。