watcher filewatch c# io sanity-check

filewatch - C#comprueba que un destino de archivo sea válido



filewatch c# (5)

La respuesta anterior es correcta con respecto a verificar si existe un archivo o directorio determinado. La clase Path también contiene una serie de funciones que son útiles para validar o manipular los diversos componentes de una ruta.

¿Hay una función estándar para verificar que un directorio específico sea válido?

La razón por la que pregunto es que estoy recibiendo una cadena de directorio y un nombre de archivo absolutos de un usuario y quiero verificar la ubicación para verificar que sea válida.


Si no puede ser un directorio nuevo, simplemente puede verificar si existe.

Parece que también podría usar Path.GetInvalidPathChars para comprobar si hay caracteres no válidos.


if(System.IO.File.Exists(fileOrDirectoryPath)) { //do stuff }

¡Esto debería funcionar!


Para un archivo

File.Exists(string)

Para un directorio

Directory.Exists(string)

NOTA: Si está reutilizando un objeto, debería considerar utilizar la clase FileInfo frente a la clase estática File. Los métodos estáticos de la clase File hacen una posible verificación de seguridad innecesaria cada vez.
FileInfo - DirectoryInfo - Archivo - Directorio

FileInfo fi = new FileInfo(fName); if (fi.Exists) //Do stuff

O

DirectoryInfo di = new DirectoryInfo(fName); if (di.Exists) //Do stuff


También es posible que desee considerar que una ruta válida en sí misma no es 100% válida. Si el usuario proporciona C: / windows / System32, o una unidad de CD, el sistema operativo podría arrojar una excepción al intentar escribir.