Stream.CopyTo Método

Definição

Lê os bytes do fluxo atual e escreve-os noutro fluxo. As posições de ambos os fluxos são avançadas pelo número de bytes copiados.

Sobrecargas

Name Description
CopyTo(Stream)

Lê os bytes do fluxo atual e escreve-os noutro fluxo. As posições de ambos os fluxos são avançadas pelo número de bytes copiados.

CopyTo(Stream, Int32)

Lê os bytes do fluxo atual e escreve-os noutro fluxo, usando um tamanho de buffer especificado. As posições de ambos os fluxos são avançadas pelo número de bytes copiados.

CopyTo(Stream)

Lê os bytes do fluxo atual e escreve-os noutro fluxo. As posições de ambos os 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 suporta leitura.

-ou-

destination não suporta a escrita.

Ou o fluxo atual ou destination estavam fechados antes de o CopyTo(Stream) método ser chamado.

Ocorreu um erro de I/O.

Exemplos

O exemplo seguinte copia o conteúdo de a 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())

Observações

A cópia começa na posição atual no fluxo atual e não reinicia 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 escreve-os noutro fluxo, usando um tamanho de buffer especificado. As posições de ambos os 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. Este valor deve ser maior que zero. O tamanho padrão é 81920.

Exceções

destination é null.

bufferSize é negativo ou zero.

O fluxo atual não suporta leitura.

-ou-

destination não suporta a escrita.

Ou o fluxo atual ou destination estavam fechados antes de o CopyTo(Stream) método ser chamado.

Ocorreu um erro de I/O.

Observações

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

Aplica-se a