我是编程新手,正在开发一个 C# 项目,该项目将搜索文本文件中的某些单词并将其替换为新值。我有一些有效的代码,但 OLD 和 NEW 值现在是硬编码的。我想使用外部 CSV 文件作为配置文件,以便用户可以在以后添加或更新 OLD 到 NEW 映射。这是我当前的代码,其中包含硬编码的 OLD 和 NEW 值:
try
{
StreamReader file = new StreamReader(inputfullfilepath);
TextWriter writer = new StreamWriter(outputfile);
while ((line = file.ReadLine()) != null)
{
line = line.Replace("OLD1", "NEW1");
line = line.Replace("OLD2", "NEW2");
// etc....
writer.WriteLine(line);
}
file.Close();
File.Move(inputfullfilepath, inputfullfilepath + ".old");
writer.Close();
File.Move(outputfile, outputfilepath + @"\" + inputfilename);
MessageBox.Show("File Scrub Complete", "Success");
}
catch
{
MessageBox.Show("Error: Be sure data paths are valid.", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
该代码获取文本文件的每一行,尝试对所有 OLD 到 NEW 映射进行搜索/替换,然后转到文本文件中的下一行。我试图解决的问题是能够根据 CSV(或 XML,如果这样更容易?)配置文件使这个 OLD 到 NEW 映射列表动态化,以便用户可以添加新的搜索/替换关键字。
我尝试在 Visual Studio 中使用 C# 应用程序设置(它创建了一个 XML 配置文件),但我很难理解如何使其工作。这样做的最佳方法是什么,以便不必对值进行硬编码?