文件夹所有格式的代码合并为一个文档

代码:

        private string result = string.Empty;
        /// <summary>
        /// 得某文件夹下所有的文件
        /// </summary>
        /// <param name="directory">文件夹名称</param>
        /// <param name="pattern">搜寻指类型</param>
        /// <returns></returns>
        public string GetFiles(DirectoryInfo directory, string pattern)
        {

            if (directory.Exists || pattern.Trim() != string.Empty)
            {

                foreach (FileInfo info in directory.GetFiles(pattern))
                {
                    result = result + info.FullName.ToString() + ";";
                    //result = result + info.Name.ToString() + ";";
                }

                foreach (DirectoryInfo info in directory.GetDirectories())
                {
                    GetFiles(info, pattern);
                }
            }
            string returnString = result;
            return returnString;

        }
        public ActionResult GetForFile()
        {
            if (IsPost)
            {
                ArrayList ListFileName = new ArrayList();
                ListFileName.Add("aspx");
                ListFileName.Add("css");
                ListFileName.Add("js");
                ListFileName.Add("Master");
                ListFileName.Add("ascx");
                ListFileName.Add("asax");
                ListFileName.Add("ashx");
                ListFileName.Add("config");
                ListFileName.Add("cs");
                //StringList
                StringBuilder sb = new StringBuilder();
                string NameALL = string.Empty;
                foreach (string item in ListFileName)
                {
                    string[] StringList = GetFiles(new DirectoryInfo(@"F:\FireFile"), "*." + item).Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                    sb.AppendLine("/*---------------------*/");
                    sb.AppendFormat("/*【{0}代码】【开始】*/", item.ToUpper());
                    sb.AppendLine("");
                    sb.AppendLine("/*---------------------*/");
                    sb.AppendLine("");
                    ArrayList lista = new ArrayList();
                    foreach (string homeurl in StringList)
                    {
                        sb.AppendLine("/*----------------------*/");
                        sb.AppendFormat("Url路径:{0}", homeurl.Replace("F:\\FireFile\\", ""));
                        sb.AppendLine("");
                        sb.AppendLine("代码如下:");
                        sb.AppendLine(Globals.DownloadStringFromUrl(homeurl));
                        sb.AppendLine("");
                        sb.AppendLine("");
                    }
                    sb.AppendLine("/*---------------------*/");
                    sb.AppendFormat("/*【{0}代码】【结束】*/", item.ToUpper());
                    sb.AppendLine("");
                    sb.AppendLine("/*---------------------*/");
                    sb.AppendLine("");
                    sb.AppendLine("");
                    sb.AppendLine("");
                    //
                    NameALL += item.ToUpper() + "_";
                }
                //保持代码
                Globals.WriteText(sb.ToString(), HostingEnvironment.MapPath("~/" + NameALL.ToString() + ".txt"));
            }

            return View();
        }
        
       #region 写入和读取文本文件

        /// <summary>
        /// 写文本文件
        /// </summary>
        /// <param name="Text"></param>
        /// <param name="Path"></param>
        /// <returns></returns>
        public static bool WriteText(string Text, string Path)
        {
            bool s = true;

            try
            {
                FileStream fs = new FileStream(Path, FileMode.Create);
                StreamWriter writer = new StreamWriter(fs);
                writer.Write(Text);
                writer.Flush(); writer.Dispose();
                fs.Close(); fs.Dispose();
            }
            catch { s = false; }
            return s;
        }

        /// <summary>
        /// 读取文本文件
        /// </summary>
        /// <param name="Path"></param>
        /// <param name="_Encoding"></param>
        /// <returns></returns>
        public static string ReadText(string Path, System.Text.Encoding _Encoding)
        {
            StreamReader objReader = new StreamReader(Path, _Encoding);
            string sLine = "";
            ArrayList arrText = new ArrayList();

            while (sLine != null)
            {
                sLine = objReader.ReadLine();
                if (sLine != null)
                    arrText.Add(sLine);
            }
            objReader.Close(); objReader.Dispose();
            return arrText.ToString();
        }

        #endregion
Copyright © 2013-2021 版权所有 蜀ICP备14018279号