Поделиться через


Stream.CopyTo Метод

Определение

Считывает байты из текущего потока и записывает их в другой поток. Обе позиции потоков перемещаются по количеству скопированных байтов.

Перегрузки

CopyTo(Stream)

Считывает байты из текущего потока и записывает их в другой поток. Обе позиции потоков перемещаются по количеству скопированных байтов.

CopyTo(Stream, Int32)

Считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера. Обе позиции потоков перемещаются по количеству скопированных байтов.

CopyTo(Stream)

Исходный код:
Stream.cs
Исходный код:
Stream.cs
Исходный код:
Stream.cs

Считывает байты из текущего потока и записывает их в другой поток. Обе позиции потоков перемещаются по количеству скопированных байтов.

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)

Параметры

destination
Stream

Поток, в который будет скопировано содержимое текущего потока.

Исключения

destination имеет значение null.

Текущий поток не поддерживает чтение.

-или-

Параметр destination не поддерживает запись.

Текущий поток или параметр destination был закрыт до вызова метода CopyTo(Stream).

Ошибка ввода/вывода.

Примеры

В следующем примере содержимое FileStream копируется в 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())

Комментарии

Копирование начинается с текущей позиции в текущем потоке и не сбрасывает положение целевого потока после завершения операции копирования.

Применяется к

CopyTo(Stream, Int32)

Исходный код:
Stream.cs
Исходный код:
Stream.cs
Исходный код:
Stream.cs

Считывает байты из текущего потока и записывает их в другой поток, используя указанный размер буфера. Обе позиции потоков перемещаются по количеству скопированных байтов.

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)

Параметры

destination
Stream

Поток, в который будет скопировано содержимое текущего потока.

bufferSize
Int32

Размер буфера. Это значение должно быть больше нуля. Размер по умолчанию — 81920.

Исключения

destination имеет значение null.

Параметр bufferSize имеет отрицательное значение или равен нулю.

Текущий поток не поддерживает чтение.

-или-

Параметр destination не поддерживает запись.

Текущий поток или параметр destination был закрыт до вызова метода CopyTo(Stream).

Ошибка ввода/вывода.

Комментарии

Копирование начинается с текущей позиции в текущем потоке и не сбрасывает положение целевого потока после завершения операции копирования.

Применяется к