Прочитать на английском

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


Stream.CopyTo Метод

Определение

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

Перегрузки

CopyTo(Stream)

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

CopyTo(Stream, Int32)

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

CopyTo(Stream)

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

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

C#
public void CopyTo (System.IO.Stream destination);

Параметры

destination
Stream

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

Исключения

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

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

-или-

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

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

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

Примеры

В следующем примере содержимое FileStream копируется в MemoryStream.

C#
// 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());

Комментарии

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

CopyTo(Stream, Int32)

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

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

C#
public void CopyTo (System.IO.Stream destination, int bufferSize);
C#
public virtual void CopyTo (System.IO.Stream destination, int bufferSize);

Параметры

destination
Stream

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

bufferSize
Int32

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

Исключения

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

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

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

-или-

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

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

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

Комментарии

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0