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

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

  • 相关阅读:
    sublime配置攻略
    Objective-C代码块语法(block)使用
    [C/C++]_[VS2010来源与UTF8中国字符串转码ANSI问题]
    Android资源管理框架(Asset Manager)简介和学习计划
    ExtJs自学教程(1):从一切API开始
    ORACLE触发特定的解释
    同TextView在不同的显示内容
    :gAudit
    IIS日志分析 MapReduce
    图片存储心得
  • 原文地址:https://www.cnblogs.com/chenxi001/p/11731066.html
Copyright © 2011-2022 走看看