Exemplo n.º 1
0
        /// <summary>
        /// Helper method to check if file exists.
        /// </summary>
        /// <param name="filename"></param>
        /// <returns></returns>
        public static string VerifyFileExists(string filename)
        {
            if (filename == null)
            {
                return(null);
            }

            string filepath = PathSW.GetFullPath(filename.ToLowerInvariant());

            if (FileSW.Exists(filepath))
            {
                return(filepath);
            }

            if (PathSW.IsPathRooted(filename.ToLowerInvariant()) == true)
            {
                string rootpath = PathSW.GetPathRoot(filename);
                filepath = rootpath + PathSW.DirectorySeparatorChar + PathSW.GetFileName(filename);

                return(filepath);
            }

            // Use additional search paths provided by user.
            for (int i = 0; _searchpaths != null && i < _searchpaths.Length; i++)
            {
                if (String.IsNullOrEmpty(_searchpaths[i]) == false)
                {
                    filepath = _searchpaths[i] + PathSW.DirectorySeparatorChar + filename;
                    if (FileSW.Exists(filepath))
                    {
                        return(PathSW.GetFullPath(filepath));
                    }
                }
            }

            Console.WriteLine("{0} could not be found", filename);
            return(null);
        }