FileStream.SetLength(Int64) メソッド

定義

ストリーム長を特定の値に設定します。Sets the length of this stream to the given value.

public:
 override void SetLength(long value);
public override void SetLength (long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)

パラメーター

value
Int64

ストリームの新しい長さ。The new length of the stream.

例外

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

ストリームでは、書き込みとシークの両方は使用できません。The stream does not support both writing and seeking.

value パラメーターを 0 未満の値に設定しようとしました。Attempted to set the value parameter to less than 0.

注釈

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

指定された値がストリームの現在の長さよりも小さい場合、ストリームは切り捨てられます。If the given value is less than the current length of the stream, the stream is truncated. このシナリオでは、現在の位置が新しい長さよりも大きい場合、現在の位置はストリームの最後のバイトに移動されます。In this scenario, if the current position is greater than the new length, the current position is moved to the last byte of the stream. 指定された値がストリームの現在の長さよりも大きい場合、ストリームは展開され、現在の位置は同じままになります。If the given value is larger than the current length of the stream, the stream is expanded, and the current position remains the same. ストリームが展開されている場合、古い値と新しい長さの間のストリームの内容は未定義になります。If the stream is expanded, the contents of the stream between the old and the new length are undefined.

ストリームは、SetLength が機能するための書き込みとシークの両方をサポートする必要があります。A stream must support both writing and seeking for SetLength to work.

注意

CanWrite プロパティを使用して、現在のインスタンスが書き込みをサポートしているかどうかを判断し、CanSeek プロパティを使用してシークがサポートされているかどうかを判断します。Use the CanWrite property to determine whether the current instance supports writing, and the CanSeek property to determine whether seeking is supported. 追加情報については、CanWrite、および CanSeek を参照してください。For additional information, see CanWrite and CanSeek.

一般的なファイルおよびディレクトリ操作の一覧については、「一般的な I/o タスク」を参照してください。For a list of common file and directory operations, see Common I/O Tasks.

適用対象

こちらもご覧ください