我有一个我需要阅读和修改的文本文件。此文件来自另一个程序,因此我无法修改其格式。我需要将它用作模板,并针对特定情况进行一系列替换。我正在阅读的其中一行用0xFF字符分隔。但是当我调用ReadLine时,字符串返回以0x3F字符分隔的行。我尝试了不同的编码。 ASCII以0x3f和UTF-8的形式返回,返回为3字节0xEF 0xBF 0xBD。原始文本文件似乎是ANSI格式,0xFF字符显示为“ÿ”。如何让我的ReadLine(以及随后的WriteLine)保持这个字符的完好无损?
var replacements = new Dictionary<string, string> { {"to_replace1", "replacement1"}, {"to_replace2", "replacement2"}, {"etc etc", "more replaces"} };
using (var writer = new StreamWriter(projectfileSpecific, false, Encoding.ASCII))
{
foreach (var line in File.ReadLines(projectfileTemplate, Encoding.ASCII))
{
foreach (var replacement in replacements)
{
if (line.Contains(replacement.Key))
{
var replaceLine = line;
writer.WriteLine(replaceLine.Replace(replacement.Key, replacement.Value));
}
else
{
writer.WriteLine(line);
}
}
}
}