我负责开发一个在生产服务器上运行的应用程序,它旨在搜索和替换每个 ini、xml 和配置文件扩展名中的一些特定字符串,我必须关心性能(总共 150 台服务器)。在替换之前,我必须备份文件。实现这一目标的最佳方法是什么?顺便说一句,我可以使用 Dot Net 4.0,但最好使用 3.5,因为不是每个服务器都有 4.0,但如果有很大的优势,我可以更新到 4.0。现在我在想这样的事情:
String[] arrayFiles = Directory.GetFiles(strFylesystem , strExtensao, SearchOption.AllDirectories);
foreach (string s in arrayFiles ){
File.Copy(pathOrigin + s, pathNew);
searchFound = false;
foreach (string line in File.ReadAllLines(pathNew + s){
if (line.contains("string_searched")){
line.Replace("string_searched", new_string);
searchFound = true;
}
if (!searchFound){
File.Delete(pathNew + s);
}
}
}
我发现一些论坛使用 Lambda、PLINQ e 正则表达式。除了个人喜好之外,这些对我的表现有帮助吗?例如:如果不是使用File.ReadAllLines
我开发使用,性能会更好StreamReader
吗?有没有办法包装findStr
从窗口并获得性能改进?