2017-07-06 42 views
2

我想创建一个方法,告诉我如果有一个当前日期的文件从传递给它的参数。需要目录中的文件与今天的日期

这里是我的方法至今:

DoesFileExist("c:\temp\file*.*"); 

private static bool DoesFileExist(string file) 
{ 
    var dir = Path.GetDirectoryName(file); 
    var nfile = Path.GetFileName(file); 
    var fileEntries = Directory.GetFiles(dir, nfile); 
    foreach (string fileName in fileEntries) 
    { 
    Console.WriteLine(fileName); 
    } 
    return true; 
} 

fileEntries被填充,但什么是得到是今天的​​日期的文件(S)的最好方法,如果存在的话?

谢谢!

EDIT1

这就是我把它改为:

DoesFileExist("c:\temp\file*.*"); 
private static bool DoesFileExist(string file2) 
{ 
    var resultfiles = Directory.GetFiles(file2).Where(file => new FileInfo(file).CreationTime.Date == DateTime.Today.Date); 

    if (resultfiles.Count() > 0) 
    { 
    return true; 
    } 

    return false; 
} 

The file2 ends up being c:\\temp\\file*.*. 

回答

3

使用linq

var resultfiles = Directory.GetFiles("c:\temp\file*.*") 
       .Where(file => new FileInfo(file).CreationTime.Date == DateTime.Today.Date); 
+0

感谢您的帮助!我得到'路径中的非法字符'。 – SomeoneSpecial

+0

哪条路?我没有得到它 – Sajeetharan

+0

我编辑上面的帖子与更新。我在resultfiles中遇到异常。 – SomeoneSpecial