ディレクトリ上のすべての .txt および .xml ファイルを読み取るコンソール アプリケーションがあります。txt ファイル内には、xml ファイルのリストがあります。私のアプリケーションは、内部のすべてのtxtファイルを読み取ってから、txtファイル内にリストされているxmlファイルがそのディレクトリで利用可能かどうかを確認する必要があります。
ディレクトリ内のファイルの例:
123_Client_01022013_Summary.txt
123_Client_01022013_File1.xml
123_Client_01022013_File2.xml
123_Client_01022013_Summary.txt の内容は次のとおりです。
123_Client_01022013_File1.xml
123_Client_01022013_File2.xml
そして、これは私のコードです:
var directorypath = @"C:\";
string line;
List<String> txtlist = Directory.GetFiles(directorypath, "*.txt").ToList();
List<String> xmllist = Directory.GetFiles(directorypath, "*.xml").ToList();
foreach (var txt in txtlist)
{
StreamReader file = new StreamReader(txt);
while ((line = file.ReadLine()) != null)
{
foreach (var xml in xmlist)
{
FileInfo fileinfo = new FileInfo(xml);
if (fileinfo.Name == line)
{
break;
}
}
}
}
このコードは機能しています:txtファイル内のtxtをチェックすると、そのxmlがディレクトリに存在するかどうかをすべての行でチェックします。
これをもう少し安くする方法はありますか?私の論理が正しいように見えることはわかっていますが、これが最善の方法であるかどうかはわかりません。アドバイスをいただければ幸いです。前もって感謝します!