J'ai une fonction qui lit un tas de valeurs de chemin (8 ou 9 d'entre eux) à partir d'un fichier texte. Il utilise ces chemins plus tard dans l'application pour lire les fichiers. Quel est le meilleur moyen de vérifier la validité de ces chemins de fichier. Puis-je faire une seule prise de certaines sortes?attraper les chemins de fichier non valides
Répondre
Vous pouvez utiliser File.Exists
et/ou Directory.Exists
est un chemin d'accès peut être un répertoire.
static void Main(string[] args)
{
List<string> paths = new List<string>{"C:\\path1.txt", "c:\\path2.txt"};
bool allValid = paths.All(path=>File.Exists(path));
}
System.IO.Directory.Exists (chemin de chaîne) System.IO.File.Exists (chemin de chaîne)
Je voudrais simplement utiliser File.Exists dans une boucle, assez simple et facile à lire. Y a-t-il un moyen plus tendance? Probablement.
Peut-être regex pourrait être une option pour vous, au moins dans un environnement Windows. Cela évite d'avoir un accès au disque, comme le ferait File.Exists. Source: http://www.csharp411.com/check-valid-file-path-in-c/
public bool IsValidPath(string path)
{
Regex r = new Regex(@"^(([a-zA-Z]\:)|(\\))(\\{1}|((\\{1})[^\\]([^/:*?<>""|]*))+)$");
return r.IsMatch(path);
}
Envisagez d'utiliser la méthode System.IO.Path.GetFullPath
. Comme la plupart des membres de la classe Path
, il valide le chemin que vous passez et lance un ArgumentException
si le chemin n'est pas valide.
- 1. C# Supprimer les caractères non valides du nom de fichier
- 2. Caractères XML non valides
- 3. Le plugin android eclipse ne trouve pas les chemins valides
- 4. Arguments non valides
- 5. Rails datetime_select ignore les valeurs non valides
- 6. implode arguments non valides
- 7. Git chemins non intégrés
- 8. Comment créer un fichier avec des horodatages Windows non valides?
- 9. Comment puis-je attraper des caractères ASCII non valides dans Panic Coda?
- 10. PHP: Caractères non valides html
- 11. Références DOM JavaScript non valides
- 12. Sélection des dates non valides
- 13. Caractères non valides dans label_tag
- 14. opérandes non valides à binaire
- 15. MySQL Insertion dates non valides
- 16. données UTF-8 non valides
- 17. TiffLib transfère les handles vers des fichiers non valides
- 18. SQL Server - Caractères non valides dans les noms de paramètres
- 19. vba: attraper un fichier non trouvé exception avec DIR
- 20. Chemins de fichier dans ASP.net
- 21. Comment traiter les objets métier non valides dans le code?
- 22. Vérifiez le nom d'utilisateur pour les caractères non valides
- 23. Pourquoi Delegate.CreateDelegate autorise-t-il les conversions non valides?
- 24. Comment gérer les caractères non valides dans XML
- 25. SignedXml génère des signatures non valides
- 26. MSXML2.DomDocument.3.0 caractères non valides
- 27. ADTS sampling_frequency_index et channel_configuration non valides Pourquoi?
- 28. Erreur dans msgrcv: arguments non valides
- 29. Colonnes non valides sur le déclencheur
- 30. XSLT - Attraper les paramètres
'File.Exists' retournera aussi' false' si quelqu'un a verrouillé le fichier. –
@John Saunders Merci d'avoir souligné cela, c'est effectivement le cas. –