zoukankan      html  css  js  c++  java
  • 文件批量生成IO流读写

    /// <summary>
            /// 生成文件的
            /// </summary>
            /// <param name="calssName"></param>
            public void create(string calssName)
            {
                //获取程序集
                var createClass = Assembly.Load("Entity");
                //反射出所有的类
                List<Type> ts = createClass.GetTypes().ToList();
                //循环生成
                ts.ForEach(x =>
                {
                    //x.Namespace获取命名空间
                    var ss = "using " + x.Namespace + ";
    " +
                             "using CoreFramework." + calssName + ";
    " +
                             "using System;
    " +
                             "using System.Collections.Generic;
    " +
                             "using System.Text;
    
    " +
    
                             "namespace I" + calssName + "
    " +
                                "{
    " +
                                    "	public interface I" + x.Name.Substring(0, x.Name.Length - 6) + "" + calssName + " : IBase" + calssName + "<" + x.Name + ">
    " +
                                    "	{
    " +
    
                                    "	}
    " +
                                "}
    ";
                    //创建文件夹
                    if (!Directory.Exists(@"C:UsersDesktopI" + calssName + ""))
                    {
                        Directory.CreateDirectory(@"C:UsersDesktopI" + calssName + "");
                    }
                    //创建文件夹
                    if (!Directory.Exists(@"C:UsersDesktopI" + calssName + @"" + x.Name.Substring(0, x.Name.Length - 6) + ""))
                    {
                        Directory.CreateDirectory(@"C:UsersDesktopI" + calssName + @"" + x.Name.Substring(0, x.Name.Length - 6) + "");
                    }
                    //保存 开启文件流
                    using (FileStream fs = new FileStream(@"C:UsersDesktopI" + 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不好用,所以就是使用了读写了直接写入吧。

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

  • 相关阅读:
    sosex !mk
    使用boost iostream写文件
    编译ios版本的ffmpeg0.11.1
    转换日期为中文数字
    sosex !muf查看方法的反汇编代码
    Xcode 4.5.2 + iOS 6.0免证书(iDP)开发+真机调试+生成IPA全攻略
    sosex查看变量的命令!mdt
    vs2012编译openssl
    为ios编译openssl
    打开的页面关闭后刷新主页面
  • 原文地址:https://www.cnblogs.com/chenxi001/p/11731066.html
Copyright © 2011-2022 走看看