文件夹所有格式的代码合并为一个文档
代码:
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