File.Exists (Método)
Ensamblado: mscorlib (en mscorlib.dll)
Parámetros
- path
Archivo que se va a comprobar.
Valor devuelto
true si el llamador tiene los permisos necesarios y path contiene el nombre de un archivo existente; de lo contrario, false. Este método también devuelve false si path es referencia de objeto null (Nothing en Visual Basic), una ruta de acceso no válida o una cadena de longitud cero. Si el llamador no tiene permisos suficientes para leer el archivo especificado, no se produce ninguna excepción y el método devuelve false, independientemente de la existencia de path.El método Exists no se debería utilizar para la validación de la ruta de acceso; este método sólo comprueba si existe el archivo especificado en path. Al pasar una ruta de acceso no válida a Existsl, se devuelve false.
Tenga en cuenta que existe la posibilidad de que otro proceso pueda hacer algo con el archivo en el intervalo que transcurre entre la llamada al método Exists y el momento en que se lleva a cabo otra operación en el archivo, como Delete. Una práctica de programación recomendable es ajustar el método Exists y la operación que se lleva a cabo en el archivo en un bloque try-catch, tal como se muestra en el ejemplo. Esta práctica ayuda a restringir el ámbito de posibles conflictos. El método Exists sólo puede intentar asegurar que el archivo estará disponible, pero no puede garantizarlo.
El parámetro path puede especificar información de ruta de acceso relativa o absoluta. La información de ruta de acceso relativa se interpreta en relación con el directorio de trabajo actual. Para obtener el directorio de trabajo actual, vea GetCurrentDirectory.
Si path describe un directorio, este método devuelve false. Se quitan los espacios finales del parámetro path antes de determinar si el archivo existe.
En el siguiente ejemplo se utiliza el método Exists para intentar asegurar que no se sobrescribe un archivo.
using System; using System.IO; class Test { public static void Main() { string path = @"c:\temp\MyTest.txt"; string path2 = path + "temp"; try { using (StreamWriter sw = File.CreateText(path)) {} // Only do the Copy operation if the first file exists // and the second file does not. if (File.Exists(path)) { if (File.Exists(path2)) { Console.WriteLine("The target already exists"); } else { // Try to copy the file. File.Copy(path, path2); Console.WriteLine("{0} was copied to {1}.", path, path2); } } else { Console.WriteLine("The source file does not exist."); } } catch { Console.WriteLine("Double copying is not allowed, as expected."); } } }
import System.*;
import System.IO.*;
class Test
{
public static void main(String[] args)
{
String path = "c:\\temp\\MyTest.txt";
String path2 = path + "temp";
try {
StreamWriter sw = File.CreateText(path);
try {
}
finally {
sw.Dispose();
}
// Only do the Copy operation if the first file exists
// and the second file does not.
if (File.Exists(path)) {
if (File.Exists(path2)) {
Console.WriteLine("The target already exists");
}
else {
// Try to copy the file.
File.Copy(path, path2);
Console.WriteLine("{0} was copied to {1}.", path, path2);
}
}
else {
Console.WriteLine("The source file does not exist.");
}
}
catch (System.Exception exp) {
Console.WriteLine("Double copying is not allowed, as expected.");
}
} //main
} //Test
- FileIOPermission para leer el archivo especificado. Enumeración asociada: FileIOPermissionAccess.Read.
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.