Stream.CopyTo Stream.CopyTo Stream.CopyTo Stream.CopyTo Method

定義

現在のストリームからバイトを読み取り、別のストリームに書き込みます。Reads the bytes from the current stream and writes them to another stream.

オーバーロード

CopyTo(Stream) CopyTo(Stream) CopyTo(Stream) CopyTo(Stream)

現在のストリームからバイトを読み取り、別のストリームに書き込みます。Reads the bytes from the current stream and writes them to another stream.

CopyTo(Stream, Int32) CopyTo(Stream, Int32) CopyTo(Stream, Int32) CopyTo(Stream, Int32)

指定されたバッファー サイズを使用して、現在のストリームからバイトを読み取り、別のストリームに書き込みます。Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

CopyTo(Stream) CopyTo(Stream) CopyTo(Stream) CopyTo(Stream)

現在のストリームからバイトを読み取り、別のストリームに書き込みます。Reads the bytes from the current stream and writes them to another stream.

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 Stream Stream Stream

現在のストリームの内容のコピー先のストリーム。The stream to which the contents of the current stream will be copied.

例外

現在のストリームは読み取りをサポートしません。The current stream does not support reading.

または-or- destination は、書き込みをサポートしません。destination does not support writing.

CopyTo(Stream) メソッドが呼び出される前に、現在のストリームまたは destination が閉じられました。Either the current stream or destination were closed before the CopyTo(Stream) method was called.

I/O エラーが発生しました。An I/O error occurred.

次の例の内容のコピーをFileStreamMemoryStreamします。The following example copies the contents of a FileStream to a 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())

注釈

コピーでは、現在のストリームの現在の位置を開始し、コピー操作が完了した後、コピー先のストリームの位置をリセットしません。Copying begins at the current position in the current stream, and does not reset the position of the destination stream after the copy operation is complete.

CopyTo(Stream, Int32) CopyTo(Stream, Int32) CopyTo(Stream, Int32) CopyTo(Stream, Int32)

指定されたバッファー サイズを使用して、現在のストリームからバイトを読み取り、別のストリームに書き込みます。Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

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

パラメーター

destination
Stream Stream Stream Stream

現在のストリームの内容のコピー先のストリーム。The stream to which the contents of the current stream will be copied.

bufferSize
Int32 Int32 Int32 Int32

バッファーのサイズ。The size of the buffer. これは、0 より大きい値である必要があります。This value must be greater than zero. 既定のサイズは 81920 です。The default size is 81920.

例外

bufferSize が負の値またはゼロです。bufferSize is negative or zero.

現在のストリームは読み取りをサポートしません。The current stream does not support reading.

または-or- destination は、書き込みをサポートしません。destination does not support writing.

CopyTo(Stream) メソッドが呼び出される前に、現在のストリームまたは destination が閉じられました。Either the current stream or destination were closed before the CopyTo(Stream) method was called.

I/O エラーが発生しました。An I/O error occurred.

注釈

コピーでは、現在のストリームの現在の位置を開始し、コピー操作が完了した後、コピー先のストリームの位置をリセットしません。Copying begins at the current position in the current stream, and does not reset the position of the destination stream after the copy operation is complete.

適用対象