public static bool IsValidPath()

in Source/Tx.Bond/Internal/PathUtils.cs [31:69]


        public static bool IsValidPath(string path)
        {
            if (string.IsNullOrWhiteSpace(path))
            {
                return false;
            }

            var directory = Path.GetDirectoryName(path);

            if (directory == null || !Directory.Exists(directory))
            {
                return false;
            }

            var filename = Path.GetFileName(path);

            if (string.IsNullOrEmpty(filename))
            {
                return true;
            }

            var invalidCharacters = Path.GetInvalidFileNameChars()
                .Where(i => i != '*' && i != '?')
                .ToArray();

            if (filename.Any(c => invalidCharacters.Contains(c)))
            {
                return false;
            }

            if (filename.Contains('*') || filename.Contains('?'))
            {
                return true;
            }

            var fileExists = File.Exists(path);

            return fileExists;
        }