FileInfo FileInfo FileInfo FileInfo Class

Definición

Proporciona propiedades y métodos de instancia para crear, copiar, eliminar, mover y abrir archivos y contribuye a la creación de objetos FileStream.Provides properties and instance methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of FileStream objects. Esta clase no puede heredarse.This class cannot be inherited.

public ref class FileInfo sealed : System::IO::FileSystemInfo
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class FileInfo : System.IO.FileSystemInfo
type FileInfo = class
    inherit FileSystemInfo
Public NotInheritable Class FileInfo
Inherits FileSystemInfo
Herencia
Atributos

Ejemplos

En el ejemplo siguiente se muestran algunos de los miembros principales FileInfo de la clase.The following example demonstrates some of the main members of the FileInfo class.

Cuando se recuperan las propiedades por FileInfo primera vez Refresh , llama al método y almacena en caché información sobre el archivo.When the properties are first retrieved, FileInfo calls the Refresh method and caches information about the file. En las llamadas posteriores, debe llamar Refresh a para obtener la última copia de la información.On subsequent calls, you must call Refresh to get the latest copy of the information.

using namespace System;
using namespace System::IO;

int main()
{
   String^ path = Path::GetTempFileName();
   FileInfo^ fi1 = gcnew FileInfo( path );
   //Create a file to write to.
   StreamWriter^ sw = fi1->CreateText();
   try
   {
	 sw->WriteLine( "Hello" );
	 sw->WriteLine( "And" );
	 sw->WriteLine( "Welcome" );
   }
   finally
   {
	 if ( sw )
		delete (IDisposable^)sw;
   }

   //Open the file to read from.
   StreamReader^ sr = fi1->OpenText();
   try
   {
      String^ s = "";
      while ( s = sr->ReadLine() )
      {
         Console::WriteLine( s );
      }
   }
   finally
   {
      if ( sr )
         delete (IDisposable^)sr;
   }

   try
   {
      String^ path2 = Path::GetTempFileName();
      FileInfo^ fi2 = gcnew FileInfo( path2 );

      //Ensure that the target does not exist.
      fi2->Delete();

      //Copy the file.
      fi1->CopyTo( path2 );
      Console::WriteLine( "{0} was copied to {1}.", path, path2 );

      //Delete the newly created file.
      fi2->Delete();
      Console::WriteLine( "{0} was successfully deleted.", path2 );
   }
   catch ( Exception^ e )
   {
      Console::WriteLine( "The process failed: {0}", e );
   }
}
using System;
using System.IO;

class Test 
{
	
    public static void Main() 
    {
        string path = Path.GetTempFileName();
        FileInfo fi1 = new FileInfo(path);

        //Create a file to write to.
        using (StreamWriter sw = fi1.CreateText()) 
        {
            sw.WriteLine("Hello");
            sw.WriteLine("And");
            sw.WriteLine("Welcome");
        }	

        //Open the file to read from.
        using (StreamReader sr = fi1.OpenText()) 
        {
            string s = "";
            while ((s = sr.ReadLine()) != null) 
            {
                Console.WriteLine(s);
            }
        }

        try 
        {
            string path2 = Path.GetTempFileName();
            FileInfo fi2 = new FileInfo(path2);

            //Ensure that the target does not exist.
            fi2.Delete();

            //Copy the file.
            fi1.CopyTo(path2);
            Console.WriteLine("{0} was copied to {1}.", path, path2);

            //Delete the newly created file.
            fi2.Delete();
            Console.WriteLine("{0} was successfully deleted.", path2);

        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
Imports System
Imports System.IO

Public Class Test

    Public Shared Sub Main()
        Dim path1 As String = Path.GetTempFileName()
        Dim path2 As String = Path.GetTempFileName()
        Dim fi As FileInfo = New FileInfo(path1)

        'Create a file to write to.
        Dim sw As StreamWriter = fi.CreateText()

        sw.WriteLine("Hello")
        sw.WriteLine("And")
        sw.WriteLine("Welcome")
        sw.Flush()
        sw.Close()

        Try
            'Open the file to read from.
            Dim sr As StreamReader = fi.OpenText()

            Do While sr.Peek() >= 0
                Console.WriteLine(sr.ReadLine())
            Loop
            sr.Close()
            Dim fi2 As FileInfo = New FileInfo(path2)

            'Ensure that the target does not exist.
            fi2.Delete()

            'Copy the file.
            fi.CopyTo(path2)
            Console.WriteLine("{0} was copied to {1}.", path1, path2)

            'Delete the newly created file.
            fi2.Delete()
            Console.WriteLine("{0} was successfully deleted.", path2)

        Catch e As Exception
            Console.WriteLine("The process failed: {0}.", e.ToString())
        End Try
    End Sub
End Class

Este ejemplo genera un resultado similar al siguiente.This example produces output similar to the following.

Hello  
And  
Welcome  
C:\Users\userName\AppData\Local\Temp\tmp70AB.tmp was copied to C:\Users\userName\AppData\Local\Temp\tmp70CB.tmp.  
C:\Users\userName\AppData\Local\Temp\tmp70CB.tmp was successfully deleted.  

Comentarios

Use la FileInfo clase para operaciones típicas como copiar, mover, cambiar el nombre, crear, abrir, eliminar y anexar a archivos.Use the FileInfo class for typical operations such as copying, moving, renaming, creating, opening, deleting, and appending to files.

Si está realizando varias operaciones en el mismo archivo, puede ser más eficaz utilizar FileInfo métodos de instancia en lugar de los métodos estáticos correspondientes de la File clase, ya que no siempre será necesario realizar una comprobación de seguridad.If you are performing multiple operations on the same file, it can be more efficient to use FileInfo instance methods instead of the corresponding static methods of the File class, because a security check will not always be necessary.

Muchos de los FileInfo métodos devuelven otros tipos de e/s al crear o abrir archivos.Many of the FileInfo methods return other I/O types when you create or open files. Puede usar estos otros tipos para manipular más un archivo.You can use these other types to further manipulate a file. Para obtener más información, vea FileInfo miembros específicos Opencomo, OpenRead, OpenText, CreateTexto Create.For more information, see specific FileInfo members such as Open, OpenRead, OpenText, CreateText, or Create.

De forma predeterminada, el acceso completo de lectura y escritura a los nuevos archivos se concede a todos los usuarios.By default, full read/write access to new files is granted to all users.

En la tabla siguiente se describen las enumeraciones que se utilizan para personalizar el comportamiento FileInfo de varios métodos.The following table describes the enumerations that are used to customize the behavior of various FileInfo methods.

EnumeraciónEnumeration DescripciónDescription
FileAccess Especifica el acceso de lectura y escritura a un archivo.Specifies read and write access to a file.
FileShare Especifica el nivel de acceso permitido para un archivo que ya está en uso.Specifies the level of access permitted for a file that is already in use.
FileMode Especifica si el contenido de un archivo existente se conserva o se sobrescribe, y si las solicitudes para crear un archivo existente producen una excepción.Specifies whether the contents of an existing file are preserved or overwritten, and whether requests to create an existing file cause an exception.

Nota

En los miembros que aceptan una ruta de acceso como una cadena de entrada, la ruta de acceso debe tener el formato correcto o se produce una excepción.In members that accept a path as an input string, that path must be well-formed or an exception is raised. Por ejemplo, si una ruta de acceso es completa pero comienza con un espacio, la ruta de acceso no se recorta en los métodos de la clase.For example, if a path is fully qualified but begins with a space, the path is not trimmed in methods of the class. Por lo tanto, la ruta de acceso tiene un formato incorrecto y se genera una excepción.Therefore, the path is malformed and an exception is raised. Del mismo modo, una ruta de acceso o una combinación de rutas de acceso no se puede calificar completamente dos veces.Similarly, a path or a combination of paths cannot be fully qualified twice. Por ejemplo, "c:\temp c:\Windows" también genera una excepción en la mayoría de los casos.For example, "c:\temp c:\windows" also raises an exception in most cases. Asegúrese de que las rutas de acceso tienen el formato correcto al usar métodos que aceptan una cadena de ruta de acceso.Ensure that your paths are well-formed when using methods that accept a path string.

En los miembros que aceptan una ruta de acceso, la ruta de acceso puede hacer referencia a un archivo o solo a un directorio.In members that accept a path, the path can refer to a file or just a directory. La ruta de acceso especificada también puede hacer referencia a una ruta de acceso relativa o a una ruta de acceso UNC (Convención de nomenclatura universal) para un servidor y un nombre de recurso compartido.The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name. Por ejemplo, todas las siguientes son rutas de acceso aceptables:For example, all the following are acceptable paths:

  • "c:\\MyDir\\MyFile.txt" in C#o "c:\MyDir\MyFile.txt" en Visual Basic."c:\\MyDir\\MyFile.txt" in C#, or "c:\MyDir\MyFile.txt" in Visual Basic.

  • "c:\\MyDir" in C#o "c:\MiDir" en Visual Basic."c:\\MyDir" in C#, or "c:\MyDir" in Visual Basic.

  • "MyDir\\MySubdir" in C#o "MyDir\MySubDir" en Visual Basic."MyDir\\MySubdir" in C#, or "MyDir\MySubDir" in Visual Basic.

  • "\\ C#\MyServer \MyShare" in o"\\miservidor\mirecursocompartido" en Visual Basic.\\"\\\\MyServer\\MyShare" in C#, or "\\MyServer\MyShare" in Visual Basic.

La FileInfo clase proporciona las siguientes propiedades que permiten recuperar información sobre un archivo.The FileInfo class provides the following properties that enable you to retrieve information about a file. Para obtener un ejemplo de cómo usar cada propiedad, vea las páginas de propiedades.For an example of how to use each property, see the property pages.

  • La Directory propiedad recupera un objeto que representa el directorio principal de un archivo.The Directory property retrieves an object that represents the parent directory of a file.

  • La DirectoryName propiedad recupera la ruta de acceso completa del directorio principal de un archivo.The DirectoryName property retrieves the full path of the parent directory of a file.

  • La Exists propiedad comprueba la presencia de un archivo antes de trabajar con él.The Exists property checks for the presence of a file before operating on it.

  • La IsReadOnly propiedad recupera o establece un valor que especifica si se puede modificar un archivo.The IsReadOnly property retrieves or sets a value that specifies whether a file can be modified.

  • Length Recupera el tamaño de un archivo.The Length retrieves the size of a file.

  • Name Recupera el nombre de un archivo.The Name retrieves the name of a file.

Constructores

FileInfo(String) FileInfo(String) FileInfo(String) FileInfo(String)

Inicializa una nueva instancia de la clase FileInfo, que actúa como contenedor de una ruta de archivos.Initializes a new instance of the FileInfo class, which acts as a wrapper for a file path.

Propiedades

Attributes Attributes Attributes Attributes

Obtiene o establece los atributos del archivo o directorio actual.Gets or sets the attributes for the current file or directory.

(Inherited from FileSystemInfo)
CreationTime CreationTime CreationTime CreationTime

Obtiene o establece la hora de creación del archivo o directorio actual.Gets or sets the creation time of the current file or directory.

(Inherited from FileSystemInfo)
CreationTimeUtc CreationTimeUtc CreationTimeUtc CreationTimeUtc

Obtiene o establece la hora de creación, en formato de hora universal coordinada (UTC), del archivo o directorio actual.Gets or sets the creation time, in coordinated universal time (UTC), of the current file or directory.

(Inherited from FileSystemInfo)
Directory Directory Directory Directory

Obtiene una instancia del directorio principal.Gets an instance of the parent directory.

DirectoryName DirectoryName DirectoryName DirectoryName

Obtiene una cadena que representa la ruta de acceso completa del directorio.Gets a string representing the directory's full path.

Exists Exists Exists Exists

Obtiene un valor que indica si existe un archivo.Gets a value indicating whether a file exists.

Extension Extension Extension Extension

Obtiene la cadena que representa la extensión del archivo.Gets the string representing the extension part of the file.

(Inherited from FileSystemInfo)
FullName FullName FullName FullName

Obtiene la ruta de acceso completa del directorio o el archivo.Gets the full path of the directory or file.

(Inherited from FileSystemInfo)
IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Obtiene o establece un valor que determina si el archivo actual es de solo lectura.Gets or sets a value that determines if the current file is read only.

LastAccessTime LastAccessTime LastAccessTime LastAccessTime

Obtiene o establece la hora en la que se utilizó por última vez el archivo o directorio actual.Gets or sets the time the current file or directory was last accessed.

(Inherited from FileSystemInfo)
LastAccessTimeUtc LastAccessTimeUtc LastAccessTimeUtc LastAccessTimeUtc

Obtiene o establece la hora, en formato de hora universal coordinada (UTC), a la que se produjo el último acceso al archivo o directorio actual.Gets or sets the time, in coordinated universal time (UTC), that the current file or directory was last accessed.

(Inherited from FileSystemInfo)
LastWriteTime LastWriteTime LastWriteTime LastWriteTime

Obtiene o establece la hora en la que se escribió por última vez en el archivo o directorio actual.Gets or sets the time when the current file or directory was last written to.

(Inherited from FileSystemInfo)
LastWriteTimeUtc LastWriteTimeUtc LastWriteTimeUtc LastWriteTimeUtc

Obtiene o establece la hora, en formato de hora universal coordinada (UTC), a la que se escribió por última vez en el archivo o directorio actual.Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to.

(Inherited from FileSystemInfo)
Length Length Length Length

Obtiene el tamaño, en bytes, del archivo actual.Gets the size, in bytes, of the current file.

Name Name Name Name

Obtiene el nombre del archivo.Gets the name of the file.

Métodos

AppendText() AppendText() AppendText() AppendText()

Crea un StreamWriter que agrega texto al archivo representado por esta instancia de FileInfo.Creates a StreamWriter that appends text to the file represented by this instance of the FileInfo.

CopyTo(String) CopyTo(String) CopyTo(String) CopyTo(String)

Copia un archivo existente en un archivo nuevo, impidiendo que se sobrescriba el archivo existente.Copies an existing file to a new file, disallowing the overwriting of an existing file.

CopyTo(String, Boolean) CopyTo(String, Boolean) CopyTo(String, Boolean) CopyTo(String, Boolean)

Copia un archivo existente en un archivo nuevo, permitiendo que se sobrescriba el archivo existente.Copies an existing file to a new file, allowing the overwriting of an existing file.

Create() Create() Create() Create()

Crea un archivo.Creates a file.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
CreateText() CreateText() CreateText() CreateText()

Crea un StreamWriter que escribe un nuevo archivo de texto.Creates a StreamWriter that writes a new text file.

Decrypt() Decrypt() Decrypt() Decrypt()

Descifra un archivo cifrado por la cuenta actual mediante el método Encrypt().Decrypts a file that was encrypted by the current account using the Encrypt() method.

Delete() Delete() Delete() Delete()

Elimina de forma permanente un archivo.Permanently deletes a file.

Encrypt() Encrypt() Encrypt() Encrypt()

Cifra un archivo de forma que solo la cuenta utilizada para cifrarlo pueda descifrarlo.Encrypts a file so that only the account used to encrypt the file can decrypt it.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetAccessControl() GetAccessControl() GetAccessControl() GetAccessControl()

Obtiene un objeto FileSecurity que encapsula las entradas de lista de control de acceso (ACL) del archivo descrito por el objeto FileInfo actual.Gets a FileSecurity object that encapsulates the access control list (ACL) entries for the file described by the current FileInfo object.

GetAccessControl(AccessControlSections) GetAccessControl(AccessControlSections) GetAccessControl(AccessControlSections) GetAccessControl(AccessControlSections)

Obtiene un objeto FileSecurity que encapsula el tipo especificado de entradas de la lista de control de acceso (ACL) para el archivo descrito por el objeto FileInfo actual.Gets a FileSecurity object that encapsulates the specified type of access control list (ACL) entries for the file described by the current FileInfo object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Establece el objeto SerializationInfo con el nombre del archivo y la información adicional de la excepción.Sets the SerializationInfo object with the file name and additional exception information.

(Inherited from FileSystemInfo)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
MoveTo(String) MoveTo(String) MoveTo(String) MoveTo(String)

Mueve un archivo especificado a una nueva ubicación, proporcionando la opción para indicar un nuevo nombre de archivo.Moves a specified file to a new location, providing the option to specify a new file name.

MoveTo(String, Boolean) MoveTo(String, Boolean) MoveTo(String, Boolean) MoveTo(String, Boolean)

Mueve un archivo especificado a una ubicación nueva y proporciona las opciones para especificar un nombre de archivo nuevo y sobrescribir el archivo de destino si ya existe.Moves a specified file to a new location, providing the options to specify a new file name and to overwrite the destination file if it already exists.

Open(FileMode) Open(FileMode) Open(FileMode) Open(FileMode)

Abre un archivo en el modo especificado.Opens a file in the specified mode.

Open(FileMode, FileAccess) Open(FileMode, FileAccess) Open(FileMode, FileAccess) Open(FileMode, FileAccess)

Abre un archivo en el modo especificado, con acceso de lectura o escritura (o ambos).Opens a file in the specified mode with read, write, or read/write access.

Open(FileMode, FileAccess, FileShare) Open(FileMode, FileAccess, FileShare) Open(FileMode, FileAccess, FileShare) Open(FileMode, FileAccess, FileShare)

Abre un archivo en el modo especificado, con acceso de lectura o escritura (o ambos) y la opción de uso compartido especificada.Opens a file in the specified mode with read, write, or read/write access and the specified sharing option.

OpenRead() OpenRead() OpenRead() OpenRead()

Crea un objeto FileStream de solo lectura.Creates a read-only FileStream.

OpenText() OpenText() OpenText() OpenText()

Crea un StreamReader con la codificación UTF8 que lee de un archivo de texto existente.Creates a StreamReader with UTF8 encoding that reads from an existing text file.

OpenWrite() OpenWrite() OpenWrite() OpenWrite()

Crea un FileStream de solo escritura.Creates a write-only FileStream.

Refresh() Refresh() Refresh() Refresh()

Actualiza el estado del objeto.Refreshes the state of the object.

(Inherited from FileSystemInfo)
Replace(String, String) Replace(String, String) Replace(String, String) Replace(String, String)

Reemplaza el contenido de un archivo especificado con el archivo descrito por el objeto FileInfo actual, eliminando el archivo original y creando una copia de seguridad del archivo reemplazado.Replaces the contents of a specified file with the file described by the current FileInfo object, deleting the original file, and creating a backup of the replaced file.

Replace(String, String, Boolean) Replace(String, String, Boolean) Replace(String, String, Boolean) Replace(String, String, Boolean)

Reemplaza el contenido de un archivo especificado con el archivo descrito por el objeto FileInfo actual, eliminando el archivo original y creando una copia de seguridad del archivo reemplazado.Replaces the contents of a specified file with the file described by the current FileInfo object, deleting the original file, and creating a backup of the replaced file. También especifica si se van a omitir los errores de fusión mediante combinación.Also specifies whether to ignore merge errors.

SetAccessControl(FileSecurity) SetAccessControl(FileSecurity) SetAccessControl(FileSecurity) SetAccessControl(FileSecurity)

Aplica las entradas de la lista de control de acceso (ACL) descritas por un objeto FileSecurity al archivo descrito por el objeto FileInfo actual.Applies access control list (ACL) entries described by a FileSecurity object to the file described by the current FileInfo object.

ToString() ToString() ToString() ToString()

Devuelve la ruta de acceso como una cadena.Returns the path as a string.

Campos

FullPath FullPath FullPath FullPath

Representa la ruta de acceso completa del directorio o el archivo.Represents the fully qualified path of the directory or file.

(Inherited from FileSystemInfo)
OriginalPath OriginalPath OriginalPath OriginalPath

La ruta de acceso especificada originalmente por el usuario, ya sea relativa o absoluta.The path originally specified by the user, whether relative or absolute.

(Inherited from FileSystemInfo)

Métodos de extensión

GetAccessControl(FileInfo) GetAccessControl(FileInfo) GetAccessControl(FileInfo) GetAccessControl(FileInfo)
GetAccessControl(FileInfo, AccessControlSections) GetAccessControl(FileInfo, AccessControlSections) GetAccessControl(FileInfo, AccessControlSections) GetAccessControl(FileInfo, AccessControlSections)
SetAccessControl(FileInfo, FileSecurity) SetAccessControl(FileInfo, FileSecurity) SetAccessControl(FileInfo, FileSecurity) SetAccessControl(FileInfo, FileSecurity)

Se aplica a

Consulte también: