英語で読む

次の方法で共有


FileStream.Write メソッド

定義

オーバーロード

Write(ReadOnlySpan<Byte>)

読み取り専用スパンから現在のファイル ストリームにバイト シーケンスを書き込み、書き込まれたバイト数だけこのファイル ストリーム内の現在位置を進めます。

Write(Byte[], Int32, Int32)

ファイル ストリームにバイトのブロックを書き込みます。

Write(ReadOnlySpan<Byte>)

ソース:
FileStream.cs
ソース:
FileStream.cs
ソース:
FileStream.cs

読み取り専用スパンから現在のファイル ストリームにバイト シーケンスを書き込み、書き込まれたバイト数だけこのファイル ストリーム内の現在位置を進めます。

C#
public override void Write (ReadOnlySpan<byte> buffer);

パラメーター

buffer
ReadOnlySpan<Byte>

メモリの領域。 このメソッドでは、この領域のコンテンツが現在のファイル ストリームにコピーされます。

例外

.NET 8 以降のバージョン: 基になるパイプが閉じているか、切断されています。

注釈

プロパティを使用して、 CanWrite 現在のインスタンスが書き込みをサポートしているかどうかを判断します。 メソッドを WriteAsync 使用して、現在のストリームに非同期的に書き込みます。

書き込み操作が成功した場合、ファイル ストリーム内の位置は書き込まれたバイト数だけ進みます。 例外が発生した場合、ファイル ストリーム内の位置は変更されません。

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

Write(Byte[], Int32, Int32)

ソース:
FileStream.cs
ソース:
FileStream.cs
ソース:
FileStream.cs

ファイル ストリームにバイトのブロックを書き込みます。

C#
public override void Write (byte[] array, int offset, int count);
C#
public override void Write (byte[] buffer, int offset, int count);

パラメーター

arraybuffer
Byte[]

ストリームに書き込むデータを格納しているバッファー。

offset
Int32

ストリームへのバイトのコピーを開始する位置を示す array 内のバイト オフセット。インデックス番号は 0 から始まります。

count
Int32

書き込む最大バイト数。

例外

arraynullです。

offsetcountarray の無効な範囲を示しています。

offset または count が負の値です。

I/O エラーが発生しました。

または

別のスレッドが原因で、オペレーティング システムのファイル ハンドルの位置で予期しない変更が発生した可能性があります。

または

.NET 8 以降のバージョン: 基になるパイプが閉じているか、切断されています。

ストリームは閉じられています。

現在のストリームのインスタンスでは、書き込みをサポートしません。

このコード例は、 メソッドに対して提供されるより大きな例の Lock 一部です。

C#
// Write the original file data.
if(fileStream.Length == 0)
{
    tempString =
        lastRecordText + recordNumber.ToString();
    fileStream.Write(uniEncoding.GetBytes(tempString),
        0, uniEncoding.GetByteCount(tempString));
}

注釈

このメソッドは、Write をオーバーライドします。

パラメーターは offset 、コピーを開始するバイト array のオフセット (バッファー インデックス) を指定し count 、 パラメーターはストリームに書き込まれるバイト数を指定します。 書き込み操作が成功した場合、ストリームの現在位置は書き込まれたバイト数だけ進みます。 例外が発生した場合、ストリームの現在位置は変更されません。

注意

プロパティを使用して、 CanWrite 現在のインスタンスが書き込みをサポートしているかどうかを判断します。 詳細については、「CanWrite」を参照してください。

書き込み操作を実行しているスレッドを中断しないでください。 スレッドのブロックが解除された後にアプリケーションが正常に実行されるように見えるかもしれませんが、中断によってアプリケーションのパフォーマンスと信頼性が低下する可能性があります。

一般的なファイル操作とディレクトリ操作の一覧については、「 一般的な I/O タスク」を参照してください。

こちらもご覧ください

適用対象

.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 1.1, 2.0, 3.0, 3.5, 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.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0