Compartilhar via


Stream.CopyTo Método

Definição

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

Sobrecargas

CopyTo(Stream)

Lê os bytes do fluxo atual e os grava em outro fluxo. Ambas as posições de fluxo 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 do buffer especificado. Ambas as posições de fluxo são avançadas pelo número de bytes copiados.

CopyTo(Stream)

Origem:
Stream.cs
Origem:
Stream.cs
Origem:
Stream.cs

Lê os bytes do fluxo atual e os grava em outro fluxo. Ambas as posições de fluxo 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.

Não há suporte para a leitura no fluxo atual.

- ou -

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

O fluxo atual ou destination foram fechados antes do método CopyTo(Stream) 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)

Origem:
Stream.cs
Origem:
Stream.cs
Origem:
Stream.cs

Lê os bytes do fluxo atual e os grava em outro fluxo usando um tamanho do buffer especificado. Ambas as posições de fluxo 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 é 81.920.

Exceções

destination é null.

bufferSize é negativo ou zero.

Não há suporte para a leitura no fluxo atual.

- ou -

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

O fluxo atual ou destination foram fechados antes do método CopyTo(Stream) 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