DirectoryInfo dir = new DirectoryInfo(filePath);
FileInfo[] files = dir.GetFiles();
foreach (FileInfo info in files)
{
richTextBox.Text += info.Name + " " + info.LastWriteTime.ToShortDateString() + "、A" + info.LastWriteTime.ToLongTimeString() + "\n";
}以上代码,我要实现的功能是取一个最新文件的更新时间为标准,所有文件的更新时间和它进行比较,如果相差两个小时,就把所有符合条件的文件显示到TextBox1中,
如
file1 更新时间:2011/01/12 ,11:50:13
file2 更新时间:2011/01/12 ,11:48:12
file3 更新时间:2011/01/12 ,08:50:13
file4 更新时间:2011/01/11 ,11:50:13哪么 TextBox1中就应该增加 file3 ,file4 这个应该怎么实现,请赐教。可以的贴段代码,谢谢。
FileInfo[] files = dir.GetFiles();
foreach (FileInfo info in files)
{
richTextBox.Text += info.Name + " " + info.LastWriteTime.ToShortDateString() + "、A" + info.LastWriteTime.ToLongTimeString() + "\n";
}以上代码,我要实现的功能是取一个最新文件的更新时间为标准,所有文件的更新时间和它进行比较,如果相差两个小时,就把所有符合条件的文件显示到TextBox1中,
如
file1 更新时间:2011/01/12 ,11:50:13
file2 更新时间:2011/01/12 ,11:48:12
file3 更新时间:2011/01/12 ,08:50:13
file4 更新时间:2011/01/11 ,11:50:13哪么 TextBox1中就应该增加 file3 ,file4 这个应该怎么实现,请赐教。可以的贴段代码,谢谢。
FileInfo[] files = dir.GetFiles()
.OrderBy(f => -f.LastWriteTime.Ticks)
.ToArray();string str = "";
foreach(FileInfo file in files)
{
TimeSpan diff = files[0].LastWriteTime - file.LastWriteTime;
if (diff.TotalHours > 2)
{
break;
}
str += file.Name + "\r\n";
}
private void button3_Click(object sender, EventArgs e)
{
DirectoryInfo dir = new DirectoryInfo(@"D:\test prj\vs2008\TestWinform\TestWinform\bin\Debug");
FileInfo[] files = dir.GetFiles();
string result = string.Empty; IOrderedEnumerable<FileInfo> orderedFiles = from f in files
orderby f.LastWriteTime descending
select f; FileInfo lastmodifiedFileInfo = orderedFiles.ElementAt(0);
TimeSpan twoHours = new TimeSpan(2, 0, 0);
result += lastmodifiedFileInfo.Name + " " + lastmodifiedFileInfo.LastWriteTime.ToShortDateString() + "、A" + lastmodifiedFileInfo.LastWriteTime.ToLongTimeString() + "\n"; for(int i = 1; i< orderedFiles.Count(); i++)
{
FileInfo info = orderedFiles.ElementAt(i);
if ((lastmodifiedFileInfo.LastWriteTime - info.LastWriteTime) < twoHours)
{
result += info.Name
+ " "
+ info.LastWriteTime.ToShortDateString()
+ "、A"
+ info.LastWriteTime.ToLongTimeString() + "\n";
}
}
MessageBox.Show(result);
}
{
(new FileInfo(file).LastWriteTime-DateTimw.Now).TotalHours
lst.Add(new FileInfo(file));
}
var result= (from r in lst
orderby r.Name
select r).Take(20); lst.Sort(delegate( FileInfo p1, FileInfo p2) { return p1.LastWriteTime.CompareTo(p2.LastWriteTime); });
public class FileComparer : IComparer<FileInfo>
{
public int Compare(FileInfo x, FileInfo y)
{
return x.LastWriteTime.CompareTo(y.LastWriteTime);
}
}
}
排序判断