¿Cuál es la mejor manera de combinar una ruta con un nombre de archivo?¿Cuál es la mejor manera de combinar una ruta y un nombre de archivo en C# /. NET?
Es decir, dado c:\foo
y bar.txt
, quiero c:\foo\bar.txt
.
Dada c:\foo
y ..\bar.txt
, quiero ya sea un error o c:\foo\bar.txt
(por lo que no pueden utilizar directamente Path.Combine()
). Del mismo modo para c:\foo
y bar/baz.txt
, quiero un error o c:\foo\baz.txt
(no c:\foo\bar\baz.txt
).
Me doy cuenta, podría verificar que el nombre del archivo no contenga '\' o '/', pero ¿es eso suficiente? Si no, ¿cuál es el cheque correcto?
Para aquellos menos familiarizados con el marco, necesita una llamada 'using System.IO;' en su archivo para obtener acceso a 'Path'. –
Tenga en cuenta que 'Path.Combine' lanzará' ArgumentNullException' si cualquiera de sus argumentos es 'null'. ** Puede ** pasar una cadena vacía al argumento –
Nota: Path.Combine normalmente agregará un separador entre cada ruta, si es necesario. Sin embargo, Path.Combine ("C:", "file.txt"), devuelve "C: file.txt", que no es una ruta válida. – ConditionRacer