File Clase

Definición

Proporciona métodos estáticos para crear, copiar, eliminar, mover y abrir un solo archivo, y contribuye a la creación de objetos FileStream.

public ref class File abstract sealed
public ref class File sealed
public static class File
public sealed class File
[System.Runtime.InteropServices.ComVisible(true)]
public static class File
type File = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type File = class
Public Class File
Public NotInheritable Class File
Herencia
File
Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo usar la File clase para comprobar si existe un archivo y, en función del resultado, crear un nuevo archivo y escribir en él, o abrir el archivo existente y leerlo. Antes de ejecutar el código, cree una c:\temp carpeta.

using namespace System;
using namespace System::IO;
int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   if (  !File::Exists( path ) )
   {
      
      // Create a file to write to.
      StreamWriter^ sw = File::CreateText( path );
      try
      {
         sw->WriteLine( "Hello" );
         sw->WriteLine( "And" );
         sw->WriteLine( "Welcome" );
      }
      finally
      {
         if ( sw )
                  delete (IDisposable^)(sw);
      }
   }

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

   try
   {
      String^ path2 = String::Concat( path, "temp" );
      
      // Ensure that the target does not exist.
      File::Delete( path2 );
      
      // Copy the file.
      File::Copy( path, path2 );
      Console::WriteLine( "{0} was copied to {1}.", path, path2 );
      
      // Delete the newly created file.
      File::Delete( path2 );
      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 = @"c:\temp\MyTest.txt";
        if (!File.Exists(path))
        {
            // Create a file to write to.
            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }
        }

        // Open the file to read from.
        using (StreamReader sr = File.OpenText(path))
        {
            string s;
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }
    }
}
open System.IO

let path = @"c:\temp\MyTest.txt"

if File.Exists path |> not then
    // Create a file to write to.
    use sw = File.CreateText path
    sw.WriteLine "Hello"
    sw.WriteLine "And"
    sw.WriteLine "Welcome"

// Open the file to read from.
do
    use sr = File.OpenText path
    let mutable s = sr.ReadLine()

    while isNull s |> not do
        printfn $"{s}"
        s <- sr.ReadLine()
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"
        If File.Exists(path) = False Then
            ' Create a file to write to.
            Using sw As StreamWriter = File.CreateText(path)
                sw.WriteLine("Hello")
                sw.WriteLine("And")
                sw.WriteLine("Welcome")
           End Using
        End If

        ' Open the file to read from.
        Using sr As StreamReader = File.OpenText(path)
            Do While sr.Peek() >= 0
                Console.WriteLine(sr.ReadLine())
            Loop
        End Using
    End Sub
End Class

Comentarios

Use la File clase para operaciones típicas, como copiar, mover, cambiar el nombre, crear, abrir, eliminar y anexar a un único archivo a la vez. También puede usar la File clase para obtener y establecer atributos de archivo o DateTime información relacionada con la creación, el acceso y la escritura de un archivo. Si desea realizar operaciones en varios archivos, vea Directory.GetFiles o DirectoryInfo.GetFiles.

Muchos de los File 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íficos File , como OpenText, CreateTexto Create.

Dado que todos los File métodos son estáticos, puede ser más eficaz usar un File método en lugar de un método de instancia correspondiente FileInfo si solo desea realizar una acción. Todos los File métodos requieren la ruta de acceso al archivo que está manipulando.

Los métodos estáticos de la File clase realizan comprobaciones de seguridad en todos los métodos. Si va a reutilizar un objeto varias veces, considere la posibilidad de usar el método de instancia correspondiente de FileInfo en su lugar, ya que la comprobación de seguridad no siempre será necesaria.

De forma predeterminada, se concede acceso de lectura y escritura completo 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 File 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 genera 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. De forma similar, una ruta de acceso o una combinación de rutas de acceso no se pueden 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 solo 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.

Para obtener una lista de tareas de E/S comunes, consulte Tareas de E/S comunes.

Métodos

AppendAllBytes(String, Byte[])

Proporciona métodos estáticos para crear, copiar, eliminar, mover y abrir un solo archivo, y contribuye a la creación de objetos FileStream.

AppendAllBytesAsync(String, Byte[], CancellationToken)

Proporciona métodos estáticos para crear, copiar, eliminar, mover y abrir un solo archivo, y contribuye a la creación de objetos FileStream.

AppendAllLines(String, IEnumerable<String>)

Anexa líneas a un archivo y, a continuación, cierra el archivo. Si el archivo especificado no existe, este método crea un archivo, escribe las líneas especificadas en él y, a continuación, lo cierra.

AppendAllLines(String, IEnumerable<String>, Encoding)

Anexa líneas a un archivo usando la codificación especificada y, a continuación, lo cierra. Si el archivo especificado no existe, este método crea un archivo, escribe las líneas especificadas en él y, a continuación, lo cierra.

AppendAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Anexa de forma asincrónica líneas a un archivo y, a continuación, cierra el archivo. Si el archivo especificado no existe, este método crea un archivo, escribe las líneas especificadas en él y, a continuación, lo cierra.

AppendAllLinesAsync(String, IEnumerable<String>, Encoding, CancellationToken)

Anexa de forma asincrónica líneas a un archivo usando la codificación especificada y, a continuación, lo cierra. Si el archivo especificado no existe, este método crea un archivo, escribe las líneas especificadas en él y, a continuación, lo cierra.

AppendAllText(String, String)

Abre un archivo, le anexa la cadena especificada y, a continuación, cierra el archivo. Si el archivo no existe, este método crea un archivo, escribe la cadena especificada en él y, a continuación, lo cierra.

AppendAllText(String, String, Encoding)

Anexa la cadena especificada al archivo mediante la codificación especificada y crea el archivo si aún no existe.

AppendAllTextAsync(String, String, CancellationToken)

Abre de forma asincrónica un archivo o crea un archivo si aún no existe, anexa la cadena especificada al archivo y, a continuación, cierra el archivo.

AppendAllTextAsync(String, String, Encoding, CancellationToken)

Abre de forma asincrónica un archivo o crea el archivo si aún no existe, anexa la cadena especificada al archivo mediante la codificación especificada y, a continuación, cierra el archivo.

AppendText(String)

Crea un StreamWriter que anexa texto codificado UTF-8 a un archivo existente o a un nuevo archivo si el archivo especificado no existe.

Copy(String, String)

Copia un archivo existente en un archivo nuevo. No se permite sobrescribir un archivo del mismo nombre.

Copy(String, String, Boolean)

Copia un archivo existente en un archivo nuevo. Se permite sobrescribir un archivo del mismo nombre.

Create(String)

Crea o trunca y sobrescribe un archivo en la ruta de acceso especificada.

Create(String, Int32)

Crea o trunca y sobrescribe un archivo en la ruta de acceso especificada, especificando un tamaño de búfer.

Create(String, Int32, FileOptions)

Crea o sobrescribe un archivo de la ruta de acceso especificada, indicando un tamaño de búfer y opciones que describen cómo crear o sobrescribir el archivo.

Create(String, Int32, FileOptions, FileSecurity)

Crea o sobrescribe un archivo en la ruta de acceso especificada, indicando un tamaño de búfer, opciones que describen cómo crear o sobrescribir el archivo y un valor que determina el control de acceso y la seguridad de auditoría del archivo.

CreateSymbolicLink(String, String)

Crea un vínculo simbólico de archivo identificado por path eso apunta a pathToTarget.

CreateText(String)

Crea o abre un archivo para escribir texto con codificación UTF-8. Si el archivo ya existe, se reemplaza su contenido.

Decrypt(String)

Descifra un archivo cifrado por la cuenta actual mediante el método Encrypt(String).

Delete(String)

Elimina el archivo especificado.

Encrypt(String)

Cifra un archivo de forma que solo la cuenta utilizada para cifrarlo pueda descifrarlo.

Exists(String)

Determina si existe el archivo especificado.

GetAccessControl(String)

Obtiene un objeto FileSecurity que encapsula las entradas de la lista de control de acceso (ACL) para un archivo especificado.

GetAccessControl(String, AccessControlSections)

Obtiene un objeto FileSecurity que encapsula el tipo especificado de las entradas de la lista de control de acceso (ACL) para un archivo determinado.

GetAttributes(SafeFileHandle)

Obtiene el objeto especificado FileAttributes del archivo o directorio asociado a fileHandle.

GetAttributes(String)

Obtiene el FileAttributes del archivo en la ruta de acceso.

GetCreationTime(SafeFileHandle)

Devuelve la hora de creación del archivo o directorio especificados.

GetCreationTime(String)

Devuelve la fecha y hora de creación del archivo o el directorio especificados.

GetCreationTimeUtc(SafeFileHandle)

Devuelve la fecha y hora de creación, en hora universal coordinada (UTC), del archivo o directorio especificados.

GetCreationTimeUtc(String)

Devuelve la fecha y hora de creación, en hora universal coordinada (UTC), del archivo o directorio especificados.

GetLastAccessTime(SafeFileHandle)

Devuelve la última fecha y hora de acceso del archivo o directorio especificados.

GetLastAccessTime(String)

Devuelve la fecha y hora a la que se produjo el último acceso al archivo o directorio especificado.

GetLastAccessTimeUtc(SafeFileHandle)

Devuelve la última fecha y hora de acceso, en hora universal coordinada (UTC), del archivo o directorio especificados.

GetLastAccessTimeUtc(String)

Devuelve la fecha y hora, en hora universal coordinada (UTC), a la que se accedió por última vez al archivo o directorio especificados.

GetLastWriteTime(SafeFileHandle)

Devuelve la última fecha y hora de escritura del archivo o directorio especificados.

GetLastWriteTime(String)

Devuelve la fecha y hora a la que se escribió por última vez en el archivo o directorio especificado.

GetLastWriteTimeUtc(SafeFileHandle)

Devuelve la última fecha y hora de escritura, en hora universal coordinada (UTC), del archivo o directorio especificados.

GetLastWriteTimeUtc(String)

Devuelve la fecha y hora, en hora universal coordinada (UTC), en la que se escribió por última vez el archivo o directorio especificados.

GetUnixFileMode(SafeFileHandle)

Obtiene el UnixFileMode del identificador de archivo especificado.

GetUnixFileMode(String)

Obtiene el UnixFileMode del archivo en la ruta de acceso.

Move(String, String)

Mueve un archivo especificado a una nueva ubicación, proporcionando la opción para indicar un nuevo nombre de archivo.

Move(String, String, Boolean)

Mueve un archivo especificado a una nueva ubicación, proporcionando las opciones para especificar un nuevo nombre de archivo y reemplazar el archivo de destino si ya existe.

Open(String, FileMode)

Abre un elemento FileStream en la ruta de acceso especificada con acceso de lectura y escritura y sin posibilidad de compartir.

Open(String, FileMode, FileAccess)

Abre un elemento FileStream en la ruta de acceso especificada, con el modo y acceso especificados y sin posibilidad de compartir.

Open(String, FileMode, FileAccess, FileShare)

Abre un FileStream en la ruta de acceso especificada con el modo especificado, con acceso de lectura, escritura o ambos, y la opción de uso compartido especificada.

Open(String, FileStreamOptions)

Inicializa una nueva instancia de la FileStream clase con la ruta de acceso especificada, el modo de creación, 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.

OpenHandle(String, FileMode, FileAccess, FileShare, FileOptions, Int64)

Inicializa una nueva instancia de la SafeFileHandle clase con la ruta de acceso, el modo de creación, el permiso de lectura y escritura y uso compartido especificados, el acceso a safeFileHandles puede tener en el mismo archivo, opciones de archivo adicionales y el tamaño de asignación.

OpenRead(String)

Abre un archivo existente para lectura.

OpenText(String)

Abre un archivo de texto existente con codificación UTF-8 para lectura.

OpenWrite(String)

Abre un archivo existente o crea un nuevo archivo para escribir en él.

ReadAllBytes(String)

Abre un archivo binario, lee su contenido, lo introduce en una matriz de bytes y, a continuación, cierra el archivo.

ReadAllBytesAsync(String, CancellationToken)

Abre de forma asincrónica un archivo binario, lee su contenido, lo introduce en una matriz de bytes y, a continuación, cierra el archivo.

ReadAllLines(String)

Abre un archivo de texto, lee todas sus líneas y, a continuación, cierra el archivo.

ReadAllLines(String, Encoding)

Abre un archivo, lee todas sus líneas con la codificación especificada y, a continuación, cierra el archivo.

ReadAllLinesAsync(String, CancellationToken)

Abre de forma asincrónica un archivo de texto, lee todas sus líneas y, a continuación, cierra el archivo.

ReadAllLinesAsync(String, Encoding, CancellationToken)

Abre de forma asincrónica un archivo de texto, lee todas sus líneas con la codificación especificada y, a continuación, cierra el archivo.

ReadAllText(String)

Abre un archivo de texto, lee todo el texto del archivo y, a continuación, cierra el archivo.

ReadAllText(String, Encoding)

Abre un archivo, lee todo el texto del archivo con la codificación especificada y, a continuación, cierra el archivo.

ReadAllTextAsync(String, CancellationToken)

Abre de forma asincrónica un archivo de texto, lee todo el texto del archivo y, a continuación, cierra el archivo.

ReadAllTextAsync(String, Encoding, CancellationToken)

Abre de forma asincrónica un archivo de texto, lee todo el texto con la codificación especificada y, a continuación, cierra el archivo.

ReadLines(String)

Lee las líneas de un archivo.

ReadLines(String, Encoding)

Lee las líneas de un archivo que tiene una codificación especificada.

ReadLinesAsync(String, CancellationToken)

Lee de forma asincrónica las líneas de un archivo.

ReadLinesAsync(String, Encoding, CancellationToken)

Lee de forma asincrónica las líneas de un archivo que tiene una codificación especificada.

Replace(String, String, String)

Reemplaza el contenido de un archivo especificado con el contenido de otro archivo, elimina el archivo original y crea una copia de seguridad del archivo reemplazado.

Replace(String, String, String, Boolean)

Reemplaza el contenido de un archivo especificado con el contenido de otro archivo, elimina el archivo original, crea una copia de seguridad del archivo reemplazado y, de forma opcional, omite los errores de fusión mediante combinación.

ResolveLinkTarget(String, Boolean)

Obtiene el destino del vínculo de archivo especificado.

SetAccessControl(String, FileSecurity)

Aplica al archivo especificado las entradas de la lista de control de acceso (ACL) descritas por un objeto FileSecurity.

SetAttributes(SafeFileHandle, FileAttributes)

Establece el especificado FileAttributes del archivo o directorio asociado a fileHandle.

SetAttributes(String, FileAttributes)

Establece el FileAttributes especificado del archivo en la ruta de acceso especificada.

SetCreationTime(SafeFileHandle, DateTime)

Establece la fecha y hora en que se creó el archivo o directorio.

SetCreationTime(String, DateTime)

Establece la fecha y la hora a la que se creó el archivo.

SetCreationTimeUtc(SafeFileHandle, DateTime)

Establece la fecha y hora, en hora universal coordinada (UTC), que se creó el archivo o directorio.

SetCreationTimeUtc(String, DateTime)

Establece la fecha y hora, en hora universal coordinada (UTC), que se creó el archivo.

SetLastAccessTime(SafeFileHandle, DateTime)

Establece la fecha y hora a la que se produjo el último acceso al archivo o directorio especificado.

SetLastAccessTime(String, DateTime)

Establece la fecha y la hora en que se obtuvo acceso por última vez al archivo especificado.

SetLastAccessTimeUtc(SafeFileHandle, DateTime)

Establece la fecha y hora, en hora universal coordinada (UTC), a la que se accedió por última vez al archivo o directorio especificados.

SetLastAccessTimeUtc(String, DateTime)

Establece la fecha y hora, en hora universal coordinada (UTC), a la que se accedió por última vez al archivo especificado.

SetLastWriteTime(SafeFileHandle, DateTime)

Establece la fecha y hora en que se escribió por última vez el archivo o directorio especificados.

SetLastWriteTime(String, DateTime)

Establece la fecha y la hora en que escribió por última vez en el archivo especificado.

SetLastWriteTimeUtc(SafeFileHandle, DateTime)

Establece la fecha y hora, en hora universal coordinada (UTC), en la que se escribió por última vez el archivo o directorio especificados.

SetLastWriteTimeUtc(String, DateTime)

Establece la fecha y hora, en hora universal coordinada (UTC), en la que se escribió por última vez el archivo especificado.

SetUnixFileMode(SafeFileHandle, UnixFileMode)

Establece el especificado UnixFileMode del identificador de archivo especificado.

SetUnixFileMode(String, UnixFileMode)

Establece el UnixFileMode especificado del archivo en la ruta de acceso especificada.

WriteAllBytes(String, Byte[])

Crea un archivo nuevo, escribe en él la matriz de bytes especificada y, a continuación, lo cierra. Si el archivo de destino ya existe, se trunca y se sobrescribe.

WriteAllBytesAsync(String, Byte[], CancellationToken)

Crea de forma asincrónica un archivo nuevo, escribe en él la matriz de bytes especificada y, a continuación, lo cierra. Si el archivo de destino ya existe, se trunca y se sobrescribe.

WriteAllLines(String, IEnumerable<String>)

Crea un archivo nuevo, escribe una colección de cadenas en él y lo cierra.

WriteAllLines(String, IEnumerable<String>, Encoding)

Crea un archivo nuevo usando la codificación especificada, escribe en él la colección de cadenas especificada y, a continuación, lo cierra.

WriteAllLines(String, String[])

Crea un archivo nuevo, escribe en él la matriz de cadenas especificada y, a continuación, lo cierra.

WriteAllLines(String, String[], Encoding)

Crea un archivo nuevo, escribe en él la matriz de cadenas especificada usando la codificación especificada y, a continuación, lo cierra.

WriteAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Crea de forma asincrónica un archivo nuevo, escribe en él las líneas especificadas y, a continuación, lo cierra.

WriteAllLinesAsync(String, IEnumerable<String>, Encoding, CancellationToken)

Crea de forma asincrónica un archivo nuevo, escribe en él las líneas especificadas usando la codificación especificada y, a continuación, lo cierra.

WriteAllText(String, String)

Crea un archivo nuevo, escribe la cadena especificada en él y, a continuación, lo cierra. Si el archivo de destino ya existe, se trunca y se sobrescribe.

WriteAllText(String, String, Encoding)

Crea un archivo nuevo, escribe en él la cadena especificada con la codificación especificada y, a continuación, lo cierra. Si el archivo de destino ya existe, se trunca y se sobrescribe.

WriteAllTextAsync(String, String, CancellationToken)

Crea de forma asincrónica un archivo nuevo, escribe en él la cadena especificada y, a continuación, lo cierra. Si el archivo de destino ya existe, se trunca y se sobrescribe.

WriteAllTextAsync(String, String, Encoding, CancellationToken)

Crea de forma asincrónica un archivo nuevo, escribe en él la cadena especificada con la codificación especificada y, a continuación, lo cierra. Si el archivo de destino ya existe, se trunca y se sobrescribe.

Se aplica a

Consulte también