Я написал простую утилиту, которая просматривает все файлы C # в моем проекте и обновляет текст авторского права вверху.
Например, файл может выглядеть так:
//Copyright My Company, © 2009-2010
Программа должна обновить текст так, чтобы он выглядел так:
//Copyright My Company, © 2009-2010
Однако код, который я написал, приводит к этому;
//Copyright My Company, � 2009-2011
Вот код, который я использую;
public bool ModifyFile(string filePath, List<string> targetText, string replacementText)
{
if (!File.Exists(filePath)) return false;
if (targetText == null || targetText.Count == 0) return false;
if (string.IsNullOrEmpty(replacementText)) return false;
string modifiedFileContent = string.Empty;
bool hasContentChanged = false;
//Read in the file content
using (StreamReader reader = File.OpenText(filePath))
{
string file = reader.ReadToEnd();
//Replace any target text with the replacement text
foreach (string text in targetText)
modifiedFileContent = file.Replace(text, replacementText);
if (!file.Equals(modifiedFileContent))
hasContentChanged = true;
}
//If we haven't modified the file, dont bother saving it
if (!hasContentChanged) return false;
//Write the modifications back to the file
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.Write(modifiedFileContent);
}
return true;
}
Любая помощь / предложения приветствуются.Спасибо!