此方法只适合于小文件的内容替换
using System;
using System.IO;
using System.Text.RegularExpressions;
/// <summary>
/// Replaces text in a file.
/// </summary>
/// <param name="filePath">Path of the text file.</param>
/// <param name="searchText">Text to search for.</param>
/// <param name="replaceText">Text to replace the search text.</param>
public void ReplaceInPath(string filePath, string searchText, string replaceText)
{
if (Directory.Exists(filePath))
{
foreach (string file in Directory.GetFiles(filePath))
{
ReplaceInFile(file, searchText, replaceText);
}
foreach (string path in Directory.GetDirectories(filePath))
{
ReplaceInPath(path, searchText, replaceText);
}
}
else if (File.Exists(filePath))
{
ReplaceInFile(filePath, searchText, replaceText);
}
}
public void ReplaceInFile( string filePath, string searchText, string replaceText )
{
try
{
StreamReader reader = new StreamReader(filePath, Encoding.Default);
string content = reader.ReadToEnd();
reader.Close();
content = Regex.Replace(content, searchText, replaceText);
StreamWriter writer = new StreamWriter(filePath, false, Encoding.Default);
writer.Write(content);
writer.Close();
}
catch (System.Exception e)
{
}
}