FileStream コンストラクタ (IntPtr, FileAccess, Boolean, Int32)
メモ : このコンストラクタは、互換性のために残されています。
FileStream クラスの新しいインスタンスを、指定した読み取り/書き込みアクセス許可、FileStream インスタンスの所有権、およびバッファ サイズを使用して、指定したファイル ハンドル用に初期化します。
名前空間: System.IO
アセンブリ: mscorlib (mscorlib.dll 内)
構文
'宣言
<ObsoleteAttribute("This constructor has been deprecated. Please use new FileStream(SafeFileHandle handle, FileAccess access, int bufferSize) instead, and optionally make a new SafeFileHandle with ownsHandle=false if needed. https://go.microsoft.com/fwlink/?linkid=14202")> _
Public Sub New ( _
handle As IntPtr, _
access As FileAccess, _
ownsHandle As Boolean, _
bufferSize As Integer _
)
'使用
Dim handle As IntPtr
Dim access As FileAccess
Dim ownsHandle As Boolean
Dim bufferSize As Integer
Dim instance As New FileStream(handle, access, ownsHandle, bufferSize)
[ObsoleteAttribute("This constructor has been deprecated. Please use new FileStream(SafeFileHandle handle, FileAccess access, int bufferSize) instead, and optionally make a new SafeFileHandle with ownsHandle=false if needed. https://go.microsoft.com/fwlink/?linkid=14202")]
public FileStream (
IntPtr handle,
FileAccess access,
bool ownsHandle,
int bufferSize
)
[ObsoleteAttribute(L"This constructor has been deprecated. Please use new FileStream(SafeFileHandle handle, FileAccess access, int bufferSize) instead, and optionally make a new SafeFileHandle with ownsHandle=false if needed. https://go.microsoft.com/fwlink/?linkid=14202")]
public:
FileStream (
IntPtr handle,
FileAccess access,
bool ownsHandle,
int bufferSize
)
/** @attribute ObsoleteAttribute("This constructor has been deprecated. Please use new FileStream(SafeFileHandle handle, FileAccess access, int bufferSize) instead, and optionally make a new SafeFileHandle with ownsHandle=false if needed. https://go.microsoft.com/fwlink/?linkid=14202") */
public FileStream (
IntPtr handle,
FileAccess access,
boolean ownsHandle,
int bufferSize
)
ObsoleteAttribute("This constructor has been deprecated. Please use new FileStream(SafeFileHandle handle, FileAccess access, int bufferSize) instead, and optionally make a new SafeFileHandle with ownsHandle=false if needed. https://go.microsoft.com/fwlink/?linkid=14202")
public function FileStream (
handle : IntPtr,
access : FileAccess,
ownsHandle : boolean,
bufferSize : int
)
パラメータ
- handle
この FileStream オブジェクトによってカプセル化されるファイルのファイル ハンドル。
- access
FileStream オブジェクトの CanRead プロパティと CanWrite プロパティを取得する FileAccess 定数。
- ownsHandle
FileStream のインスタンスがファイル ハンドルを所有する場合は true。それ以外の場合は false。
- bufferSize
バッファ サイズを示す 0 より大きな正の Int32 値。
例外
例外の種類 | 条件 |
---|---|
bufferSize が負の値です。 |
|
ディスク エラーなどの I/O エラーが発生しました。 または ストリームは閉じられています。 |
|
呼び出し元に、必要なアクセス許可がありません。 |
|
access が Write または ReadWrite であるのに、ファイル ハンドルが読み取り専用に設定されているなど、指定したファイル ハンドルに対する access 要求がオペレーティング システムで許可されません。 |
解説
FileStream オブジェクトには、ファイルへの指定したアクセス権が付与されます。ハンドルの所有権は、指定されているとおりになります。この FileStream がハンドルを所有している場合は、Close メソッドの呼び出しによって、ハンドルも閉じられます。特に、そのファイルのハンドル カウントがデクリメントされます。FileStream オブジェクトには、指定したバッファ サイズが付与されます。
FileStream は、ハンドルを排他的に制御していると見なされます。FileStream がハンドルも保持しているときに、読み取り、書き込み、またはシークを実行すると、データが破損することがあります。データを保護するために、ハンドルを使用する前に Flush を呼び出し、ハンドルの使用後は Close 以外のメソッドを呼び出さないようにします。または、この FileStream コンストラクタを呼び出す前に、ハンドルに対して読み取りと書き込みを行います。
FileShare パラメータを指定しないタイプの FileStream コンストラクタに対しては、FileShare.Read が既定値です。
ヒント
特定のカルチャ設定で文字セットをコンパイルし、同じ文字を異なるカルチャ設定で取得すると、文字が正しく解釈されない場合があり、例外がスローされることもあります。
その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。
実行するタスク |
参考例があるトピック |
---|---|
テキスト ファイルを作成する。 |
|
テキスト ファイルに書き込む。 |
|
テキスト ファイルから読み取る。 |
|
テキストをファイルに追加する。 |
|
ファイルの名前を変更、またはファイルを移動する。 |
|
ファイルを削除する。 |
|
ファイルをコピーする。 |
|
ファイルのサイズを取得する。 |
|
ファイルの属性を取得する。 |
|
ファイルの属性を設定する。 |
|
ファイルが存在するかどうかを判別する。 |
|
バイナリ ファイルから読み取る。 |
|
バイナリ ファイルに書き込む。 |
|
ファイルの拡張子を取得する。 |
|
ファイルの絶対パスを取得する。 |
|
パスからファイル名と拡張子を取得する。 |
|
ファイルの拡張子を変更する。 |
.NET Framework のセキュリティ
- FileIOPermission (ファイルの読み取り、書き込み、および追記を行うために必要なアクセス許可)。FileIOPermissionAccess.Read、FileIOPermissionAccess.Write、および FileIOPermissionAccess.Append (関連する列挙体)。
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 1.0、1.1
2.0 では、互換性のために残されています (コンパイル時に警告)
参照
関連項目
FileStream クラス
FileStream メンバ
System.IO 名前空間