次の方法で共有


MemoryStream.SetLength メソッド

現在のストリーム長を指定した値に設定します。

Overrides Public Sub SetLength( _
   ByVal value As Long _)
[C#]
public override void SetLength(longvalue);
[C++]
public: void SetLength(__int64value);
[JScript]
public override function SetLength(
   value : long);

パラメータ

  • value
    長さを設定する値。

例外

例外の種類 条件
NotSupportedException 現在のストリームのサイズが変更できません。 value が現在の容量を超えています。

または

現在のストリームが書き込みをサポートしません。

ArgumentOutOfRangeException value が負または MemoryStream の最大長より大きな値です。最大長は、(MaxValue- origin) で計算され、origin は、ストリームが開始する位置を示す基になるバッファのインデックスです。

解説

ファイルの作成およびテキストのファイルへの書き込みの例については、「 ファイルへのテキストの書き込み 」を参照してください。ファイルからのテキストの読み取りの例については、「 ファイルからのテキストの読み取り 」を参照してください。バイナリ ファイルからの読み取りおよびバイナリ ファイルへの書き込みの例については、「 新しく作成したデータ ファイルの読み取りと書き込み 」を参照してください。

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

ストリームの現在の長さより小さい値を指定した場合は、ストリームが切り捨てられます。切り捨てた結果、ストリームの現在位置がストリームの末尾より後ろになった場合、 ReadByte メソッドは -1 を返し、 Read メソッドは指定されたバイト配列にゼロバイトを読み取り、 Write メソッドおよび WriteByte メソッドは指定されたバイトをストリームの末尾に追加して長さを増やします。指定した値が現在の容量を超えていて、ストリームのサイズを変更できる場合は、容量が増加します。ストリームの現在位置は変更されません。ストリーム長が増加する場合、元のストリーム長と新しいストリーム長の間のストリームの内容はゼロに初期化されます。

メモ   このメソッドを動作させるには、 MemoryStream インスタンスが書き込みをサポートしている必要があります現在のインスタンスが書き込みをサポートしているかどうかを判断するには、 CanWrite プロパティを使用します。詳細については、 CanWrite のトピックを参照してください。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

MemoryStream クラス | MemoryStream メンバ | System.IO 名前空間 | 入出力操作 | ファイルからのテキストの読み取り | ファイルへのテキストの書き込み