private void AlterFile(string fileName)
{
StringBuilder content = new StringBuilder();
bool isAltered = false;
lock (LockObj)
{
using (StreamReader reader = new StreamReader(fileName))
{
string currLine;
currLine = reader.ReadLine();
while (currLine != null)
{
content.AppendLine(currLine);
if (currLine.Contains(KeywordToSearch))
{
isAltered = true;
//insert data in string builder to be inserted here
}
currLine = reader.ReadLine();
}
}
if (isAltered)
{
using (StreamWriter writer = new StreamWriter(fileName))
{
writer.WriteLine(content.ToString());
}
}
}
}
ディスクからテキスト ファイルを読み取り、間に数行を挿入してから、ファイルをディスクに書き込みたいと考えています。この操作が約 1000 ファイルの for each ループで呼び出されることを考えると、この方法は非常に非効率的であることがわかります。これに対するより良い解決策はありますか。前もって感謝します。