C#: Getting last modified file from a directory

The following code snippet demonstrates how to get the most recently modified file from a directory.

public bool GetLastModifiedFile(string directoryName, out FileInfo lastestModifiedFile)
{
    bool result = false;
    lastestModifiedFile = null;

    DirectoryInfo directory = new DirectoryInfo(directoryName);
    if (directory == null)
        return false;

    FileInfo[] files = directory.GetFiles();
    if (files == null || files.Length < 1)
        return false;

    lastestModifiedFile = files[0];
    DateTime refTime = files[0].LastWriteTimeUtc;
    foreach (FileInfo file in files)
    {
        DateTime lastWriten = file.LastWriteTimeUtc;
        if (lastWriten.CompareTo(refTime) > 0)
        {
            refTime = lastWriten;
            lastestModifiedFile = file;
        }
    }

    return true;
}

The function takes the directory name as input parameter and sends back the last modified file information as an out parameter. If the directory does not exists or there is no files in the directory the function returns false.

Have fun

Tags: ,

Leave a Reply