コード:
static void MultipleFilesToSingleFile(string dirPath, string filePattern, string destFile)
{
string[] fileAry = Directory.GetFiles(dirPath, filePattern);
Console.WriteLine("Total File Count : " + fileAry.Length);
using (TextWriter tw = new StreamWriter(destFile, true))
{
foreach (string filePath in fileAry)
{
using (TextReader tr = new StreamReader(filePath))
{
tw.WriteLine(tr.ReadToEnd());
tr.Close();
tr.Dispose();
}
Console.WriteLine("File Processed : " + filePath);
}
tw.Close();
tw.Dispose();
}
}
これは非常に遅いため、最適化する必要があります。平均サイズが 40 ~ 50 Mb の XML ファイルの 45 個のファイルで 3 分かかります。
注意: 平均 45 MB の 45 個のファイルは一例にすぎません。これは、数千のサイズn
のファイルの数であり、平均 128 Kb になる可能性があります。要するに、それは変化する可能性があります。m
n
m
最適化に関する見解を教えてください。