MetroIde.Helpers.VariousFunctions.CheckIfFileLocked C# (CSharp) Method

CheckIfFileLocked() public static method

public static CheckIfFileLocked ( FileInfo file ) : bool
file System.IO.FileInfo
return bool
        public static bool CheckIfFileLocked(FileInfo file)
        {
            FileStream stream = null;

            try
            {
                stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None);
            }
            catch (IOException)
            {
                //the file is unavailable because it is:
                //still being written to
                //or being processed by another thread
                //or does not exist (has already been processed)
                return true;
            }
            finally
            {
                if (stream != null)
                    stream.Close();
            }

            //file is not locked
            return false;
        }