FileStream Clase

Definición

Proporciona un Stream para un archivo, lo que permite operaciones de lectura y escritura sincrónica y asincrónica.Provides a Stream for a file, supporting both synchronous and asynchronous read and write operations.

public ref class FileStream : System::IO::Stream
[System.Runtime.InteropServices.ComVisible(true)]
public class FileStream : System.IO.Stream
type FileStream = class
    inherit Stream
Public Class FileStream
Inherits Stream
Herencia
Atributos

Ejemplos

En el ejemplo siguiente se muestran algunos de los constructores de FileStream.The following example demonstrates some of the FileStream constructors.

using namespace System;
using namespace System::IO;
using namespace System::Text;

void AddText( FileStream^ fs, String^ value )
{
   array<Byte>^info = (gcnew UTF8Encoding( true ))->GetBytes( value );
   fs->Write( info, 0, info->Length );
}

int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   
   // Delete the file if it exists.
   if ( File::Exists( path ) )
   {
      File::Delete( path );
   }

   //Create the file.
   {
      FileStream^ fs = File::Create( path );
      try
      {
         AddText( fs, "This is some text" );
         AddText( fs, "This is some more text," );
         AddText( fs, "\r\nand this is on a new line" );
         AddText( fs, "\r\n\r\nThe following is a subset of characters:\r\n" );
         for ( int i = 1; i < 120; i++ )
         {
            AddText( fs, Convert::ToChar( i ).ToString() );
            
            //Split the output at every 10th character.
            if ( Math::IEEERemainder( Convert::ToDouble( i ), 10 ) == 0 )
            {
               AddText( fs, "\r\n" );
            }
         }
      }
      finally
      {
         if ( fs )
            delete (IDisposable^)fs;
      }
   }
   
   //Open the stream and read it back.
   {
      FileStream^ fs = File::OpenRead( path );
      try
      {
         array<Byte>^b = gcnew array<Byte>(1024);
         UTF8Encoding^ temp = gcnew UTF8Encoding( true );
         while ( fs->Read( b, 0, b->Length ) > 0 )
         {
            Console::WriteLine( temp->GetString( b ) );
         }
      }
      finally
      {
         if ( fs )
            delete (IDisposable^)fs;
      }
   }
}
using System;
using System.IO;
using System.Text;

class Test
{

    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";

        // Delete the file if it exists.
        if (File.Exists(path))
        {
            File.Delete(path);
        }

        //Create the file.
        using (FileStream fs = File.Create(path))
        {
            AddText(fs, "This is some text");
            AddText(fs, "This is some more text,");
            AddText(fs, "\r\nand this is on a new line");
            AddText(fs, "\r\n\r\nThe following is a subset of characters:\r\n");

            for (int i=1;i < 120;i++)
            {
                AddText(fs, Convert.ToChar(i).ToString());

            }
        }

        //Open the stream and read it back.
        using (FileStream fs = File.OpenRead(path))
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);
            while (fs.Read(b,0,b.Length) > 0)
            {
                Console.WriteLine(temp.GetString(b));
            }
        }
    }

    private static void AddText(FileStream fs, string value)
    {
        byte[] info = new UTF8Encoding(true).GetBytes(value);
        fs.Write(info, 0, info.Length);
    }
}
Imports System.IO
Imports System.Text

Public Class Test

    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"

        ' Delete the file if it exists.
        If File.Exists(path) Then
            File.Delete(path)
        End If

        'Create the file.
        Dim fs As FileStream = File.Create(path)

        AddText(fs, "This is some text")
        AddText(fs, "This is some more text,")
        AddText(fs, Environment.NewLine & "and this is on a new line")
        AddText(fs, Environment.NewLine & Environment.NewLine)
        AddText(fs, "The following is a subset of characters:" & Environment.NewLine)

        Dim i As Integer

        For i = 1 To 120
            AddText(fs, Convert.ToChar(i).ToString())

        Next

        fs.Close()

        'Open the stream and read it back.
        fs = File.OpenRead(path)
        Dim b(1023) As Byte
        Dim temp As UTF8Encoding = New UTF8Encoding(True)

        Do While fs.Read(b, 0, b.Length) > 0
            Console.WriteLine(temp.GetString(b))
        Loop

        fs.Close()
    End Sub

    Private Shared Sub AddText(ByVal fs As FileStream, ByVal value As String)
        Dim info As Byte() = New UTF8Encoding(True).GetBytes(value)
        fs.Write(info, 0, info.Length)
    End Sub
End Class

En el ejemplo siguiente se muestra cómo escribir en un archivo de forma asincrónica.The following example shows how to write to a file asynchronously. Este código se ejecuta en una aplicación WPF que tiene un TextBlock denominado UserInput y un botón enlazado a un controlador de eventos Click denominado Button_Click.This code runs in a WPF app that has a TextBlock named UserInput and a button hooked up to a Click event handler that is named Button_Click. La ruta de acceso del archivo debe cambiarse a un archivo que exista en el equipo.The file path needs to be changed to a file that exists on the computer.

using System;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.IO;

namespace WpfApplication1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            UnicodeEncoding uniencoding = new UnicodeEncoding();
            string filename = @"c:\Users\exampleuser\Documents\userinputlog.txt";
           
            byte[] result = uniencoding.GetBytes(UserInput.Text);
            
            using (FileStream SourceStream = File.Open(filename, FileMode.OpenOrCreate))
            {
                SourceStream.Seek(0, SeekOrigin.End);
                await SourceStream.WriteAsync(result, 0, result.Length);
            }
        }
    }
}
Imports System.IO
Imports System.Text

Class MainWindow
    Private Async Sub Button_Click(sender As Object, e As RoutedEventArgs)
        Dim uniencoding As UnicodeEncoding = New UnicodeEncoding()
        Dim filename As String = "c:\Users\exampleuser\Documents\userinputlog.txt"

        Dim result As Byte() = uniencoding.GetBytes(UserInput.Text)

        Using SourceStream As FileStream = File.Open(filename, FileMode.OpenOrCreate)
            SourceStream.Seek(0, SeekOrigin.End)
            Await SourceStream.WriteAsync(result, 0, result.Length)
        End Using
    End Sub
End Class

Comentarios

Utilice la clase FileStream para leer, escribir, abrir y cerrar archivos en un sistema de archivos, y para manipular otros identificadores del sistema operativo relacionados con archivos, como canalizaciones, entrada estándar y salida estándar.Use the FileStream class to read from, write to, open, and close files on a file system, and to manipulate other file-related operating system handles, including pipes, standard input, and standard output. Puede usar los métodos Read, Write, CopyToy Flush para realizar operaciones sincrónicas, o los métodos ReadAsync, WriteAsync, CopyToAsyncy FlushAsync para realizar operaciones asincrónicas.You can use the Read, Write, CopyTo, and Flush methods to perform synchronous operations, or the ReadAsync, WriteAsync, CopyToAsync, and FlushAsync methods to perform asynchronous operations. Use los métodos asincrónicos para realizar operaciones de archivo con un uso intensivo de recursos sin bloquear el subproceso principal.Use the asynchronous methods to perform resource-intensive file operations without blocking the main thread. Esta consideración de rendimiento es especialmente importante en una aplicación de la Tienda Windows 8.xWindows 8.x Store o una aplicación de escritoriodesktop en que una operación de streaming prolongada puede bloquear el subproceso de interfaz de usuario y hacer que parezca que una aplicación ha dejado de responder.This performance consideration is particularly important in a Tienda Windows 8.xWindows 8.x Store app or escritoriodesktop app where a time-consuming stream operation can block the UI thread and make your app appear as if it is not working. FileStream almacena en búfer la entrada y la salida para mejorar el rendimiento.FileStream buffers input and output for better performance.

Importante

Este tipo implementa la interfaz IDisposable.This type implements the IDisposable interface. Cuando haya terminado de utilizar el tipo, debe desecharlo directa o indirectamente.When you have finished using the type, you should dispose of it either directly or indirectly. Para eliminar el tipo directamente, llame a su método Dispose en un bloque try/catch.To dispose of the type directly, call its Dispose method in a try/catch block. Para deshacerse de él indirectamente, use una construcción de lenguaje como using (en C#) o Using (en Visual Basic).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Para más información, vea la sección "Uso de objetos que implementan IDisposable" en el tema de la interfaz IDisposable.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

La propiedad IsAsync detecta si el identificador de archivo se abrió de forma asincrónica.The IsAsync property detects whether the file handle was opened asynchronously. Este valor se especifica cuando se crea una instancia de la clase FileStream mediante un constructor que tiene un parámetro isAsync, useAsynco options.You specify this value when you create an instance of the FileStream class using a constructor that has an isAsync, useAsync, or options parameter. Cuando se truela propiedad, el flujo emplea la e/s superpuesta para realizar operaciones de archivo de forma asincrónica.When the property is true, the stream utilizes overlapped I/O to perform file operations asynchronously. Sin embargo, no es necesario true la propiedad IsAsync para llamar al método ReadAsync, WriteAsynco CopyToAsync.However, the IsAsync property does not have to be true to call the ReadAsync, WriteAsync, or CopyToAsync method. Cuando se false la propiedad IsAsync y se llama a las operaciones asincrónicas de lectura y escritura, el subproceso de la interfaz de usuario sigue sin estar bloqueado, pero la operación de e/s real se realiza sincrónicamente.When the IsAsync property is false and you call the asynchronous read and write operations, the UI thread is still not blocked, but the actual I/O operation is performed synchronously.

El método Seek admite el acceso aleatorio a los archivos.The Seek method supports random access to files. Seek permite mover la posición de lectura/escritura a cualquier posición dentro del archivo.Seek allows the read/write position to be moved to any position within the file. Esto se hace con parámetros de punto de referencia de desplazamiento de bytes.This is done with byte offset reference point parameters. El desplazamiento de bytes es relativo al punto de referencia de búsqueda, que puede ser el principio, la posición actual o el final del archivo subyacente, representado por los tres miembros de la enumeración SeekOrigin.The byte offset is relative to the seek reference point, which can be the beginning, the current position, or the end of the underlying file, as represented by the three members of the SeekOrigin enumeration.

Nota

Los archivos de disco siempre admiten el acceso aleatorio.Disk files always support random access. En el momento de la construcción, el valor de la propiedad CanSeek se establece en true o false según el tipo de archivo subyacente. Si el tipo de archivo subyacente es FILE_TYPE_DISK, tal y como se define en Winbase. h, el valor de la propiedad CanSeek es true.At the time of construction, the CanSeek property value is set to true or false depending on the underlying file type.If the underlying file type is FILE_TYPE_DISK, as defined in winbase.h, the CanSeek property value is true. De lo contrario, el valor de la propiedad CanSeek es false.Otherwise, the CanSeek property value is false.

Si un proceso finaliza con una parte de un archivo bloqueado o cierra un archivo que tiene bloqueos pendientes, el comportamiento es indefinido.If a process terminates with part of a file locked or closes a file that has outstanding locks, the behavior is undefined.

Para las operaciones de directorio y otras operaciones de archivo, vea las clases File, Directoryy Path.For directory operations and other file operations, see the File, Directory, and Path classes. La clase File es una clase de utilidad que tiene métodos estáticos principalmente para la creación de objetos FileStream basados en rutas de acceso de archivo.The File class is a utility class that has static methods primarily for the creation of FileStream objects based on file paths. La clase MemoryStream crea una secuencia a partir de una matriz de bytes y es similar a la clase FileStream.The MemoryStream class creates a stream from a byte array and is similar to the FileStream class.

Para obtener una lista de operaciones comunes de archivos y directorios, vea tareas de e/s comunes.For a list of common file and directory operations, see Common I/O Tasks.

Detección de cambios de posición de flujoDetection of Stream Position Changes

Cuando un objeto de FileStream no tiene una retención exclusiva en su identificador, otro subproceso podría tener acceso al identificador de archivo simultáneamente y cambiar la posición del puntero de archivo del sistema operativo asociado al identificador de archivo.When a FileStream object does not have an exclusive hold on its handle, another thread could access the file handle concurrently and change the position of the operating system's file pointer that is associated with the file handle. En este caso, se podría poner en peligro la posición almacenada en caché en el objeto de FileStream y los datos almacenados en caché en el búfer.In this case, the cached position in the FileStream object and the cached data in the buffer could be compromised. El objeto FileStream realiza de forma rutinaria comprobaciones en los métodos que tienen acceso al búfer almacenado en caché para asegurarse de que la posición del identificador del sistema operativo es la misma que la posición almacenada en caché utilizada por el objeto FileStream.The FileStream object routinely performs checks on methods that access the cached buffer to ensure that the operating system's handle position is the same as the cached position used by the FileStream object.

Si se detecta un cambio inesperado en la posición del identificador en una llamada al método Read, el .NET Framework descarta el contenido del búfer y vuelve a leer el flujo del archivo.If an unexpected change in the handle position is detected in a call to the Read method, the .NET Framework discards the contents of the buffer and reads the stream from the file again. Esto puede afectar al rendimiento, en función del tamaño del archivo y de cualquier otro proceso que pueda afectar a la posición de la secuencia de archivo.This can affect performance, depending on the size of the file and any other processes that could affect the position of the file stream.

Si se detecta un cambio inesperado en la posición del identificador en una llamada al método Write, se descarta el contenido del búfer y se produce una excepción IOException.If an unexpected change in the handle position is detected in a call to the Write method, the contents of the buffer are discarded and an IOException exception is thrown.

Un objeto FileStream no tendrá una retención exclusiva en su identificador cuando se tenga acceso a la propiedad SafeFileHandle para exponer el identificador o cuando el objeto FileStream tenga la propiedad SafeFileHandle en su constructor.A FileStream object will not have an exclusive hold on its handle when either the SafeFileHandle property is accessed to expose the handle or the FileStream object is given the SafeFileHandle property in its constructor.

Constructores

FileStream(IntPtr, FileAccess)

Inicializa una nueva instancia de la clase FileStream para el identificador de archivo especificado, con el permiso de lectura y escritura especificado.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission.

FileStream(IntPtr, FileAccess, Boolean)

Inicializa una nueva instancia de la clase FileStream para el identificador de archivo especificado, con el permiso de lectura y escritura establecido y la propiedad de la instancia de FileStream.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission and FileStream instance ownership.

FileStream(IntPtr, FileAccess, Boolean, Int32)

Inicializa una nueva instancia de la clase FileStream para el identificador de archivo especificado, con el tamaño de búfer, la propiedad de la instancia de FileStream y el permiso de lectura y escritura especificados.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission, FileStream instance ownership, and buffer size.

FileStream(IntPtr, FileAccess, Boolean, Int32, Boolean)

Inicializa una nueva instancia de la clase FileStream para el identificador de archivo especificado, con el estado sincrónico o asincrónico, el tamaño de búfer, la propiedad de la instancia de FileStream y el permiso de lectura y escritura especificados.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission, FileStream instance ownership, buffer size, and synchronous or asynchronous state.

FileStream(SafeFileHandle, FileAccess)

Inicializa una nueva instancia de la clase FileStream para el identificador de archivo especificado, con el permiso de lectura y escritura especificado.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission.

FileStream(SafeFileHandle, FileAccess, Int32)

Inicializa una nueva instancia de la clase FileStream para el identificador de archivo especificado, con el tamaño de búfer y el permiso de lectura y escritura especificados.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission, and buffer size.

FileStream(SafeFileHandle, FileAccess, Int32, Boolean)

Inicializa una nueva instancia de la clase FileStream para el identificador de archivo especificado, y con el permiso de lectura y escritura, el tamaño de búfer y el estado sincrónico o asincrónico especificados.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission, buffer size, and synchronous or asynchronous state.

FileStream(String, FileMode)

Inicializa una nueva instancia de la clase FileStream con el modo de creación y la ruta de acceso especificados.Initializes a new instance of the FileStream class with the specified path and creation mode.

FileStream(String, FileMode, FileAccess)

Inicializa una nueva instancia de la clase FileStream con el permiso de lectura y escritura, el modo de creación y la ruta de acceso especificados.Initializes a new instance of the FileStream class with the specified path, creation mode, and read/write permission.

FileStream(String, FileMode, FileAccess, FileShare)

Inicializa una nueva instancia de la clase FileStream con el permiso de uso compartido, el permiso de lectura y escritura, el modo de creación y la ruta de acceso especificados.Initializes a new instance of the FileStream class with the specified path, creation mode, read/write permission, and sharing permission.

FileStream(String, FileMode, FileAccess, FileShare, Int32)

Inicializa una nueva instancia de la clase FileStream con el tamaño de búfer, el permiso de lectura y escritura y de uso compartido, el modo de creación y la ruta de acceso especificados.Initializes a new instance of the FileStream class with the specified path, creation mode, read/write and sharing permission, and buffer size.

FileStream(String, FileMode, FileAccess, FileShare, Int32, Boolean)

Inicializa una nueva instancia de la clase FileStream con el estado sincrónico o asincrónico, el tamaño de búfer, el permiso de lectura y escritura y de uso compartido, el modo de creación y la ruta de acceso especificados.Initializes a new instance of the FileStream class with the specified path, creation mode, read/write and sharing permission, buffer size, and synchronous or asynchronous state.

FileStream(String, FileMode, FileAccess, FileShare, Int32, FileOptions)

Inicializa una nueva instancia de la clase FileStream con la ruta de acceso, el modo de creación, los permisos de lectura y escritura y de uso compartido, el acceso que otras secuencias de archivos pueden tener al mismo archivo, el tamaño del búfer y otras opciones de archivo que se hayan especificado.Initializes a new instance of the FileStream class with the specified path, creation mode, read/write and sharing permission, the access other FileStreams can have to the same file, the buffer size, and additional file options.

FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions)

Inicializa una nueva instancia de la clase FileStream con la ruta de acceso, el modo de creación, los derechos de acceso y el permiso de uso compartido, el tamaño de búfer y opciones de archivo adicionales que se hayan especificado.Initializes a new instance of the FileStream class with the specified path, creation mode, access rights and sharing permission, the buffer size, and additional file options.

FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity)

Inicializa una nueva instancia de la clase FileStream con la ruta de acceso, el modo de creación, los derechos de acceso y el permiso de uso compartido, el tamaño de búfer, las opciones de archivo adicionales, el control de acceso y la seguridad de auditoría que se hayan especificado.Initializes a new instance of the FileStream class with the specified path, creation mode, access rights and sharing permission, the buffer size, additional file options, access control and audit security.

Propiedades

CanRead

Obtiene un valor que indica si la secuencia actual admite lectura.Gets a value that indicates whether the current stream supports reading.

CanSeek

Obtiene un valor que indica si la secuencia actual admite búsquedas.Gets a value that indicates whether the current stream supports seeking.

CanTimeout

Obtiene un valor que determina si se puede agotar el tiempo de espera de la secuencia actual.Gets a value that determines whether the current stream can time out.

(Heredado de Stream)
CanWrite

Obtiene un valor que indica si la secuencia actual admite escritura.Gets a value that indicates whether the current stream supports writing.

Handle

Obtiene el identificador de archivo del sistema operativo correspondiente al archivo que el objeto FileStream encapsula.Gets the operating system file handle for the file that the current FileStream object encapsulates.

IsAsync

Obtiene un valor que indica si se ha abierto FileStream de forma sincrónica o asincrónica.Gets a value that indicates whether the FileStream was opened asynchronously or synchronously.

Length

Devuelve la longitud en bytes del flujo.Gets the length in bytes of the stream.

Name

Obtiene la ruta de acceso absoluta del archivo abierto en FileStream.Gets the absolute path of the file opened in the FileStream.

Position

Obtiene o establece la posición actual de esta secuencia.Gets or sets the current position of this stream.

ReadTimeout

Obtiene o establece un valor, en milisegundos, que determina durante cuánto tiempo la secuencia intentará realizar operaciones de lectura antes de que se agote el tiempo de espera.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.

(Heredado de Stream)
SafeFileHandle

Obtiene un objeto SafeFileHandle que representa el identificador de archivos del sistema operativo correspondiente al archivo que el objeto FileStream actual encapsula.Gets a SafeFileHandle object that represents the operating system file handle for the file that the current FileStream object encapsulates.

WriteTimeout

Obtiene o establece un valor, en milisegundos, que determina durante cuánto tiempo la secuencia intentará realizar operaciones de escritura antes de que se agote el tiempo de espera.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.

(Heredado de Stream)

Métodos

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Comienza una operación de lectura asincrónica.Begins an asynchronous read operation. Considere usar ReadAsync(Byte[], Int32, Int32, CancellationToken) en su lugar.Consider using ReadAsync(Byte[], Int32, Int32, CancellationToken) instead.

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Comienza una operación de escritura asincrónica.Begins an asynchronous write operation. Considere usar WriteAsync(Byte[], Int32, Int32, CancellationToken) en su lugar.Consider using WriteAsync(Byte[], Int32, Int32, CancellationToken) instead.

Close()

Cierra la secuencia actual y libera todos los recursos (como sockets e identificadores de archivo) asociados a esta.Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream.

CopyTo(Stream)

Lee los bytes de la secuencia actual y los escribe en otra secuencia de destino.Reads the bytes from the current stream and writes them to another stream.

(Heredado de Stream)
CopyTo(Stream, Int32)

Lee todos los bytes de la secuencia actual y los escribe en otra secuencia, usando el tamaño de búfer especificado.Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Heredado de Stream)
CopyToAsync(Stream)

Lee asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia.Asynchronously reads the bytes from the current stream and writes them to another stream.

(Heredado de Stream)
CopyToAsync(Stream, CancellationToken)

Lee de forma asincrónica los bytes de la secuencia actual y los escribe en otra secuencia mediante un token de cancelación especificado.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(Heredado de Stream)
CopyToAsync(Stream, Int32)

Lee asincrónicamente los bytes de la secuencia actual y los escribe en otra secuencia, usando el tamaño de búfer especificado.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Heredado de Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Lee de forma asincrónica los bytes de la secuencia de archivo actual y los escribe en otra secuencia, utilizando el tamaño de búfer y el token de cancelación especificados.Asynchronously reads the bytes from the current file stream and writes them to another stream, using a specified buffer size and cancellation token.

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.

(Heredado de MarshalByRefObject)
CreateWaitHandle()

Asigna un objeto WaitHandle.Allocates a WaitHandle object.

(Heredado de Stream)
Dispose()

Libera todos los recursos que usa Stream.Releases all resources used by the Stream.

(Heredado de Stream)
Dispose(Boolean)

Libera los recursos no administrados que usa FileStream y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the FileStream and optionally releases the managed resources.

DisposeAsync()

Libera de forma asincrónica los recursos no administrados usados por FileStream.Asynchronously releases the unmanaged resources used by the FileStream.

EndRead(IAsyncResult)

Espera a que se complete la operación asincrónica de lectura que se encuentra pendiente.Waits for the pending asynchronous read operation to complete. (Considere usar ReadAsync(Byte[], Int32, Int32, CancellationToken) en su lugar).(Consider using ReadAsync(Byte[], Int32, Int32, CancellationToken) instead.)

EndWrite(IAsyncResult)

Termina una operación de escritura asincrónica y se bloquea hasta que se completa la operación de E/S.Ends an asynchronous write operation and blocks until the I/O operation is complete. (Considere usar WriteAsync(Byte[], Int32, Int32, CancellationToken) en su lugar).(Consider using WriteAsync(Byte[], Int32, Int32, CancellationToken) instead.)

Equals(Object)

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

(Heredado de Object)
Finalize()

Garantiza que se liberen los recursos y se realicen otras operaciones de limpieza cuando el recolector de elementos no utilizados reclama FileStream.Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the FileStream.

Flush()

Borra los búferes de esta secuencia y hace que todos los datos almacenados en los búferes se escriban en el archivo.Clears buffers for this stream and causes any buffered data to be written to the file.

Flush(Boolean)

Borra los búferes de esta secuencia, hace que todos los datos almacenados en los búferes se escriban en el archivo y borra también todos los búferes de archivos intermedios.Clears buffers for this stream and causes any buffered data to be written to the file, and also clears all intermediate file buffers.

FlushAsync()

Borra asincrónicamente todos los búferes de esta secuencia y hace que los datos almacenados en búfer se escriban en el dispositivo subyacente.Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(Heredado de Stream)
FlushAsync(CancellationToken)

Borra asincrónicamente todos los búferes de esta secuencia, y hace que todos los datos almacenados en búfer se escriban en el dispositivo subyacente y supervisa las solicitudes de cancelación.Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.

GetAccessControl()

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

GetHashCode()

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

(Heredado de Object)
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.

(Heredado de MarshalByRefObject)
GetType()

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

(Heredado de Object)
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.

(Heredado de MarshalByRefObject)
Lock(Int64, Int64)

Impide que otros procesos lean de FileStream o escriban en él.Prevents other processes from reading from or writing to the FileStream.

MemberwiseClone()

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

(Heredado de Object)
MemberwiseClone(Boolean)

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

(Heredado de MarshalByRefObject)
ObjectInvariant()

Proporciona compatibilidad con una clase Contract.Provides support for a Contract.

(Heredado de Stream)
Read(Byte[], Int32, Int32)

Lee un bloque de bytes de la secuencia y escribe los datos en un búfer dado.Reads a block of bytes from the stream and writes the data in a given buffer.

Read(Span<Byte>)

Lee una secuencia de bytes de la secuencia de archivo actual y avanza la posición en esta secuencia de archivo según el número de bytes leídos.Reads a sequence of bytes from the current file stream and advances the position within the file stream by the number of bytes read.

ReadAsync(Byte[], Int32, Int32)

Lee asincrónicamente una secuencia de bytes de la secuencia actual y avanza la posición en esta secuencia según el número de bytes leídos.Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(Heredado de Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Lee de forma asincrónica una secuencia de bytes desde la secuencia de archivo actual y los escribe en una matriz de bytes a partir de una posición especificada, avanza la posición en la secuencia de archivo según el número de bytes leídos y supervisa las solicitudes de cancelación.Asynchronously reads a sequence of bytes from the current file stream and writes them to a byte array beginning at a specified offset, advances the position within the file stream by the number of bytes read, and monitors cancellation requests.

ReadAsync(Memory<Byte>, CancellationToken)

Lee de forma asincrónica una secuencia de bytes en la secuencia de archivo actual y los escribe en una región de memoria, avanza la posición dentro de la secuencia de archivo según el número de bytes leídos y supervisa las solicitudes de cancelación.Asynchronously reads a sequence of bytes from the current file stream and writes them to a memory region, advances the position within the file stream by the number of bytes read, and monitors cancellation requests.

ReadByte()

Lee un byte del archivo y avanza la posición de lectura un byte.Reads a byte from the file and advances the read position one byte.

Seek(Int64, SeekOrigin)

Establece la posición actual de esta secuencia actual en el valor dado.Sets the current position of this stream to the given value.

SetAccessControl(FileSecurity)

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

SetLength(Int64)

Establece la longitud de esta secuencia en el valor dado.Sets the length of this stream to the given value.

ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
Unlock(Int64, Int64)

Permite que otros procesos tengan acceso total o parcial a un archivo previamente bloqueado.Allows access by other processes to all or part of a file that was previously locked.

Write(Byte[], Int32, Int32)

Escribe un bloque de bytes en la secuencia de archivo.Writes a block of bytes to the file stream.

Write(ReadOnlySpan<Byte>)

Escribe una secuencia de bytes en un intervalo de solo lectura en la secuencia de archivo actual y avanza la posición actual en esta secuencia de archivo según el número de bytes escritos.Writes a sequence of bytes from a read-only span to the current file stream and advances the current position within this file stream by the number of bytes written.

WriteAsync(Byte[], Int32, Int32)

Escribe asincrónicamente una secuencia de bytes en la secuencia actual y avanza la posición actual en esta secuencia según el número de bytes escritos.Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(Heredado de Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Escribe de forma asincrónica una secuencia de bytes en la secuencia actual, se hace avanzar la posición actual dentro de la secuencia el número de bytes escritos y controla las solicitudes de cancelación.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Escribe de forma asincrónica una secuencia de bytes de una región de memoria en la secuencia de archivo actual, avanza la posición actual en esta secuencia de archivo según el número de bytes escritos y supervisa las solicitudes de cancelación.Asynchronously writes a sequence of bytes from a memory region to the current file stream, advances the current position within this file stream by the number of bytes written, and monitors cancellation requests.

WriteByte(Byte)

Escribe un byte en la posición actual de la secuencia de archivo.Writes a byte to the current position in the file stream.

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Libera todos los recursos que usa Stream.Releases all resources used by the Stream.

(Heredado de Stream)

Métodos de extensión

GetAccessControl(FileStream)
SetAccessControl(FileStream, FileSecurity)
AsInputStream(Stream)

Convierte un flujo administrado de .NET para aplicaciones de Microsoft Store en un flujo de entrada de Windows Runtime.Converts a managed stream in the .NET for Windows Store apps to an input stream in the Windows Runtime.

AsOutputStream(Stream)

Convierte un flujo administrado de .NET para aplicaciones de Microsoft Store en un flujo de salida de Windows Runtime.Converts a managed stream in the .NET for Windows Store apps to an output stream in the Windows Runtime.

AsRandomAccessStream(Stream)

Convierte la secuencia especificada en una secuencia de acceso aleatorio.Converts the specified stream to a random access stream.

Se aplica a

Consulte también: