Stream.CopyTo Método

Definição

Lê os bytes do fluxo atual e os grava em outro fluxo. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

Sobrecargas

Nome Description
CopyTo(Stream)

Lê os bytes do fluxo atual e os grava em outro fluxo. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

CopyTo(Stream, Int32)

Lê os bytes do fluxo atual e os grava em outro fluxo, usando um tamanho de buffer especificado. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

CopyTo(Stream)

Lê os bytes do fluxo atual e os grava em outro fluxo. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

public:
 void CopyTo(System::IO::Stream ^ destination);
public void CopyTo(System.IO.Stream destination);
member this.CopyTo : System.IO.Stream -> unit
Public Sub CopyTo (destination As Stream)

Parâmetros

destination
Stream

O fluxo para o qual o conteúdo do fluxo atual será copiado.

Exceções

destination é null.

O fluxo atual não dá suporte à leitura.

-ou-

destination não dá suporte à gravação.

O fluxo atual ou destination foi fechado antes do CopyTo(Stream) método ser chamado.

Ocorreu um erro de E/S.

Exemplos

O exemplo a seguir copia o conteúdo de um FileStream para um MemoryStream.

// Create the streams.
MemoryStream destination = new MemoryStream();

using (FileStream source = File.Open(@"c:\temp\data.dat",
    FileMode.Open))
{

    Console.WriteLine("Source length: {0}", source.Length.ToString());

    // Copy source to destination.
    source.CopyTo(destination);
}

Console.WriteLine("Destination length: {0}", destination.Length.ToString());
' Create the streams.
Dim destination As New MemoryStream()

Using source As FileStream = File.Open("c:\temp\data.dat", _
                                       FileMode.Open)
    Console.WriteLine("Source length: {0}", source.Length.ToString())

    ' Copy source to destination.
    source.CopyTo(destination)

End Using
Console.WriteLine("Destination length: {0}", destination.Length.ToString())

Comentários

A cópia começa na posição atual no fluxo atual e não redefine a posição do fluxo de destino após a conclusão da operação de cópia.

Aplica-se a

CopyTo(Stream, Int32)

Lê os bytes do fluxo atual e os grava em outro fluxo, usando um tamanho de buffer especificado. Ambas as posições de fluxos são avançadas pelo número de bytes copiados.

public:
 void CopyTo(System::IO::Stream ^ destination, int bufferSize);
public:
 virtual void CopyTo(System::IO::Stream ^ destination, int bufferSize);
public void CopyTo(System.IO.Stream destination, int bufferSize);
public virtual void CopyTo(System.IO.Stream destination, int bufferSize);
member this.CopyTo : System.IO.Stream * int -> unit
abstract member CopyTo : System.IO.Stream * int -> unit
override this.CopyTo : System.IO.Stream * int -> unit
Public Sub CopyTo (destination As Stream, bufferSize As Integer)
Public Overridable Sub CopyTo (destination As Stream, bufferSize As Integer)

Parâmetros

destination
Stream

O fluxo para o qual o conteúdo do fluxo atual será copiado.

bufferSize
Int32

O tamanho do buffer. Esse valor deve ser maior que zero. O tamanho padrão é 81920.

Exceções

destination é null.

bufferSize é negativo ou zero.

O fluxo atual não dá suporte à leitura.

-ou-

destination não dá suporte à gravação.

O fluxo atual ou destination foi fechado antes do CopyTo(Stream) método ser chamado.

Ocorreu um erro de E/S.

Comentários

A cópia começa na posição atual no fluxo atual e não redefine a posição do fluxo de destino após a conclusão da operação de cópia.

Aplica-se a