2 つのコードを統合するのに問題があります。1 つ目はファイルのサイズをチェックし、2 つ目は SQL データベースをループして、一致するファイル名を探します。私は基本的に、それが新しいファイルかどうか、または前回データの一部をログに記録してからファイルが変更されたかどうかを確認したいと考えています。
これは、ディレクトリ内の各ファイルのサイズを取得します
// Make a reference to a directory.
DirectoryInfo di = new DirectoryInfo("C:\\Users");
// Get a reference to each file in that directory.
FileInfo[] fiArr = di.GetFiles();
// Display the names and sizes of the files.
MessageBox.Show("The directory {0} contains the following files:", di.Name);
foreach (FileInfo f in fiArr)
MessageBox.Show("The size of" + f.Name + " is " + f.Length + " bytes.");
このコードは、マッハが見つかるまで、またはすべてのエントリが調べられるまでループします。
try
{
// LINQ query for all files containing the word '.txt'.
var files = from file in
Directory.EnumerateFiles("C:\\Users")
where file.ToLower().Contains(".txt")
select file;
foreach (var file in files)
{
//Get path to HH file
filename = System.IO.Path.GetFileName(file);
tempString = "";
//Keep looking trough database utill database empty or HH found
while (inc != numberOfSessions && (filename != tempString))
{
sessionRow = sessions.Tables["Sessions"].Rows[inc];
tempString = sessionRow.ItemArray.GetValue(1).ToString();
inc++;
}
ItemAttay.GetValue(2) が保存されたファイルのサイズを返すとします。次の場合、while ループを最も効率的に維持するにはどうすればよいですか
inc != numberOfSessions && (ファイル名 != tempString) && (sessionRow.ItemArray.GetValue(2) == f.length)
ご覧いただきありがとうございます。