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不好用,所以就是使用了读写了直接写入吧。

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

  • 相关阅读:
    一起学Vue之表单输入绑定
    简单易懂的单元测试框架-gtest(二)
    简单易懂的单元测试框架-gtest(一)
    最常用设计模式-模板方法模式
    最常用设计模式-简单工厂模式
    最常用设计模式-单例模式
    端口复用后门
    内存取证工具-volatility、foremost
    python的exe反编译
    Linux加密known_hosts文件中的IP
  • 原文地址:https://www.cnblogs.com/chenxi001/p/11731066.html
Copyright © 2011-2022 走看看