FileInfo Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona propiedades y métodos de instancia para crear, copiar, eliminar, mover y abrir archivos y contribuye a la creación de objetos FileStream. Esta clase no puede heredarse.
public ref class FileInfo sealed : System::IO::FileSystemInfo
public sealed class FileInfo : System.IO.FileSystemInfo
[System.Serializable]
public sealed class FileInfo : System.IO.FileSystemInfo
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileInfo : System.IO.FileSystemInfo
type FileInfo = class
inherit FileSystemInfo
[<System.Serializable>]
type FileInfo = class
inherit FileSystemInfo
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileInfo = class
inherit FileSystemInfo
Public NotInheritable Class FileInfo
Inherits FileSystemInfo
- Herencia
- Herencia
- Atributos
Ejemplos
En el ejemplo siguiente se muestran algunos de los miembros principales de la FileInfo
clase .
Cuando las propiedades se recuperan por primera vez, FileInfo llama al Refresh método y almacena en caché información sobre el archivo. En las llamadas posteriores, debe llamar Refresh a para obtener la copia más reciente de la información.
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();
var 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())
{
var s = "";
while ((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);
}
}
try
{
string path2 = Path.GetTempFileName();
var fi2 = new FileInfo(path2);
// Ensure that the target does not exist.
fi2.Delete();
// Copy the file.
fi1.CopyTo(path2);
Console.WriteLine($"{path} was copied to {path2}.");
// Delete the newly created file.
fi2.Delete();
Console.WriteLine($"{path2} was successfully deleted.");
}
catch (Exception e)
{
Console.WriteLine($"The process failed: {e.ToString()}");
}
}
}
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 New FileInfo(path1)
' Create a file to write to.
Using sw As StreamWriter = fi.CreateText()
sw.WriteLine("Hello")
sw.WriteLine("And")
sw.WriteLine("Welcome")
End Using
Try
' Open the file to read from.
Using sr As StreamReader = fi.OpenText()
Do While sr.Peek() >= 0
Console.WriteLine(sr.ReadLine())
Loop
End Using
Dim fi2 As New FileInfo(path2)
' Ensure that the target does not exist.
fi2.Delete()
' Copy the file.
fi.CopyTo(path2)
Console.WriteLine($"{path1} was copied to {path2}.")
' Delete the newly created file.
fi2.Delete()
Console.WriteLine($"{path2} was successfully deleted.")
Catch e As Exception
Console.WriteLine($"The process failed: {e.ToString()}.")
End Try
End Sub
End Class
En este ejemplo se genera una salida similar a la siguiente.
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.
Si está realizando varias operaciones en el mismo archivo, puede ser más eficaz usar FileInfo métodos de instancia en lugar de los métodos estáticos correspondientes de la File clase, ya que no siempre será necesaria una comprobación de seguridad.
Muchos de los FileInfo métodos devuelven otros tipos de E/S al crear o abrir archivos. Puede usar estos otros tipos para manipular aún más un archivo. Para obtener más información, vea miembros específicosFileInfo, como Open, OpenTextOpenRead, , CreateTexto Create.
De forma predeterminada, se concede acceso completo de lectura y escritura a los nuevos archivos a todos los usuarios.
En la tabla siguiente se describen las enumeraciones que se usan para personalizar el comportamiento de varios FileInfo métodos.
Enumeración | Descripción |
---|---|
FileAccess | Especifica el acceso de lectura y escritura a un archivo. |
FileShare | Especifica el nivel de acceso permitido para un archivo que ya está en uso. |
FileMode | Especifica si el contenido de un archivo existente se conserva o sobrescribe, y si las solicitudes para crear un archivo existente provocan una excepción. |
Nota
En los miembros que aceptan una ruta de acceso como una cadena de entrada, esa ruta de acceso debe tener un formato correcto o se produce una excepción. Por ejemplo, si una ruta de acceso está completa pero comienza con un espacio, la ruta de acceso no se recorta en métodos de la clase . Por lo tanto, la ruta de acceso tiene un formato incorrecto y se genera una excepción. Del mismo modo, una ruta de acceso o una combinación de rutas de acceso no se puede calificar dos veces. Por ejemplo, "c:\temp c:\windows" también genera una excepción en la mayoría de los casos. Asegúrese de que las rutas de acceso están bien formadas al usar métodos que aceptan una cadena de ruta de acceso.
En los miembros que aceptan una ruta de acceso, la ruta de acceso puede hacer referencia a un archivo o simplemente a un directorio. La ruta de acceso especificada también puede hacer referencia a una ruta de acceso relativa o a una ruta de acceso de convención de nomenclatura universal (UNC) para un servidor y un nombre de recurso compartido. Por ejemplo, todas las siguientes son rutas de acceso aceptables:
"c:\\MyDir\\MyFile.txt" en C#, o "c:\MyDir\MyFile.txt" en Visual Basic.
"c:\\MyDir" en C#, o "c:\MyDir" en Visual Basic.
"MyDir\\MySubdir" en C#, o "MyDir\MySubDir" en Visual Basic.
"\\\MyServer\\MyShare" en C#, o "\\MyServer\MyShare" en Visual Basic.
La FileInfo clase proporciona las siguientes propiedades que permiten recuperar información sobre un archivo. Para obtener un ejemplo de cómo usar cada propiedad, vea las páginas de propiedades.
La Directory propiedad recupera un objeto que representa el directorio primario de un archivo.
La DirectoryName propiedad recupera la ruta de acceso completa del directorio primario de un archivo.
La Exists propiedad comprueba la presencia de un archivo antes de operar en él.
La IsReadOnly propiedad recupera o establece un valor que especifica si se puede modificar un archivo.
Length recupera el tamaño de un archivo.
Name recupera el nombre de un archivo.
Constructores
FileInfo(String) |
Inicializa una nueva instancia de la clase FileInfo, que actúa como contenedor de una ruta de archivos. |
Campos
FullPath |
Representa la ruta de acceso completa del directorio o el archivo. (Heredado de FileSystemInfo) |
OriginalPath |
La ruta de acceso especificada originalmente por el usuario, ya sea relativa o absoluta. (Heredado de FileSystemInfo) |
Propiedades
Attributes |
Obtiene o establece los atributos del archivo o directorio actual. (Heredado de FileSystemInfo) |
CreationTime |
Obtiene o establece la hora de creación del archivo o directorio actual. (Heredado de FileSystemInfo) |
CreationTimeUtc |
Obtiene o establece la hora de creación, en formato de hora universal coordinada (UTC), del archivo o directorio actual. (Heredado de FileSystemInfo) |
Directory |
Obtiene una instancia del directorio principal. |
DirectoryName |
Obtiene una cadena que representa la ruta de acceso completa del directorio. |
Exists |
Obtiene un valor que indica si existe un archivo. |
Extension |
Obtiene la parte de extensión del nombre de archivo, incluido el punto |
FullName |
Obtiene la ruta de acceso completa del directorio o el archivo. (Heredado de FileSystemInfo) |
IsReadOnly |
Obtiene o establece un valor que determina si el archivo actual es de solo lectura. |
LastAccessTime |
Obtiene o establece la hora en la que se utilizó por última vez el archivo o directorio actual. (Heredado de FileSystemInfo) |
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. (Heredado de FileSystemInfo) |
LastWriteTime |
Obtiene o establece la hora en la que se escribió por última vez en el archivo o directorio actual. (Heredado de FileSystemInfo) |
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. (Heredado de FileSystemInfo) |
Length |
Obtiene el tamaño, en bytes, del archivo actual. |
LinkTarget |
Obtiene la ruta de acceso de destino del vínculo ubicado en FullNameo |
Name |
Obtiene el nombre del archivo. |
UnixFileMode |
Obtiene o establece el modo de archivo unix para el archivo o directorio actual. (Heredado de FileSystemInfo) |
Métodos
AppendText() |
Crea un StreamWriter que agrega texto al archivo representado por esta instancia de FileInfo. |
CopyTo(String) |
Copia un archivo existente en un archivo nuevo, impidiendo que se sobrescriba el archivo existente. |
CopyTo(String, Boolean) |
Copia un archivo existente en un archivo nuevo, permitiendo que se sobrescriba el archivo existente. |
Create() |
Crea un archivo. |
CreateAsSymbolicLink(String) |
Crea un vínculo simbólico ubicado en FullName que apunta al especificado |
CreateObjRef(Type) |
Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. (Heredado de MarshalByRefObject) |
CreateText() |
Crea un StreamWriter que escribe un nuevo archivo de texto. |
Decrypt() |
Descifra un archivo cifrado por la cuenta actual mediante el método Encrypt(). |
Delete() |
Elimina de forma permanente un archivo. |
Encrypt() |
Cifra un archivo de forma que solo la cuenta utilizada para cifrarlo pueda descifrarlo. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetAccessControl() |
Obtiene un objeto FileSecurity que encapsula las entradas de lista de control de acceso (ACL) del archivo descrito por el objeto FileInfo actual. |
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. |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetLifetimeService() |
Obsoletos.
Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
Obsoletos.
Establece el objeto SerializationInfo con el nombre de archivo y la información adicional de la excepción. (Heredado de FileSystemInfo) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
InitializeLifetimeService() |
Obsoletos.
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
MemberwiseClone(Boolean) |
Crea una copia superficial del objeto MarshalByRefObject actual. (Heredado de MarshalByRefObject) |
MoveTo(String) |
Mueve un archivo especificado a una nueva ubicación, proporcionando la opción para indicar un nuevo nombre de archivo. |
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. |
Open(FileMode) |
Abre un archivo en el modo especificado. |
Open(FileMode, FileAccess) |
Abre un archivo en el modo especificado, con acceso de lectura o escritura (o ambos). |
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. |
Open(FileStreamOptions) |
Inicializa una nueva instancia de la FileStream clase con el modo de creación especificado, el permiso de lectura y escritura y uso compartido, el acceso a otros FileStreams puede tener en el mismo archivo, el tamaño del búfer, las opciones de archivo adicionales y el tamaño de asignación. |
OpenRead() |
Crea un objeto FileStream de solo lectura. |
OpenText() |
Crea un StreamReader con la codificación UTF8 que lee de un archivo de texto existente. |
OpenWrite() |
Crea un FileStream de solo escritura. |
Refresh() |
Actualiza el estado del objeto. (Heredado de FileSystemInfo) |
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. |
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. También especifica si se van a omitir los errores de fusión mediante combinación. |
ResolveLinkTarget(Boolean) |
Obtiene el destino del vínculo especificado. (Heredado de FileSystemInfo) |
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. |
ToString() |
Devuelve la ruta de acceso original que se ha pasado al constructor FileInfo. Use la FullName propiedad o Name para la ruta de acceso completa o el nombre de archivo. |
ToString() |
Devuelve la ruta de acceso original. Use las propiedades FullName o Name para la ruta de acceso completa o el nombre de archivo o directorio. (Heredado de FileSystemInfo) |
Métodos de extensión
Create(FileInfo, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity) |
Crea una nueva secuencia de archivos, asegurándose de que se crea con las propiedades y la configuración de seguridad especificadas. |
GetAccessControl(FileInfo) |
Devuelve la información de seguridad de un archivo. |
GetAccessControl(FileInfo, AccessControlSections) |
Devuelve la información de seguridad de un archivo. |
SetAccessControl(FileInfo, FileSecurity) |
Cambia los atributos de seguridad de un archivo existente. |
Se aplica a
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de