FileStream コンストラクタ (IntPtr, FileAccess, Boolean)
メモ : このコンストラクタは、互換性のために残されています。
FileStream クラスの新しいインスタンスを、指定した読み取り/書き込みアクセス許可と FileStream インスタンスの所有権を使用して、指定したファイル ハンドル用に初期化します。
名前空間: System.IO
アセンブリ: mscorlib (mscorlib.dll 内)
構文
'宣言
<ObsoleteAttribute("This constructor has been deprecated. Please use new FileStream(SafeFileHandle handle, FileAccess access) 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 _
)
'使用
Dim handle As IntPtr
Dim access As FileAccess
Dim ownsHandle As Boolean
Dim instance As New FileStream(handle, access, ownsHandle)
[ObsoleteAttribute("This constructor has been deprecated. Please use new FileStream(SafeFileHandle handle, FileAccess access) 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
)
[ObsoleteAttribute(L"This constructor has been deprecated. Please use new FileStream(SafeFileHandle handle, FileAccess access) 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
)
/** @attribute ObsoleteAttribute("This constructor has been deprecated. Please use new FileStream(SafeFileHandle handle, FileAccess access) 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
)
ObsoleteAttribute("This constructor has been deprecated. Please use new FileStream(SafeFileHandle handle, FileAccess access) 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
)
パラメータ
- handle
現在の FileStream オブジェクトによってカプセル化されるファイルのファイル ハンドル。
- access
FileStream オブジェクトの CanRead プロパティと CanWrite プロパティを取得する FileAccess 定数。
- ownsHandle
FileStream のインスタンスがファイル ハンドルを所有する場合は true。それ以外の場合は false。
例外
例外の種類 | 条件 |
---|---|
access が FileAccess のフィールドではありません。 |
|
呼び出し元に、必要なアクセス許可がありません。 |
|
ディスク エラーなどの I/O エラーが発生しました。 または ストリームは閉じられています。 |
|
access が Write または ReadWrite であるのに、ファイル ハンドルが読み取り専用に設定されているなど、指定したファイル ハンドルに対する access 要求がオペレーティング システムで許可されません。 |
解説
FileStream オブジェクトには、ファイルへの指定したアクセス権が付与されます。ハンドルの所有権は、指定されているとおりになります。このプロセスがハンドルを所有している場合は、Close メソッドの呼び出しによって、ハンドルも閉じられ、ファイルのハンドル カウントがデクリメントされます。FileStream オブジェクトには、8,192 バイトの既定のバッファ サイズが付与されます。
FileStream は、ハンドルを排他的に制御していると見なされます。FileStream がハンドルも保持しているときに、読み取り、書き込み、またはシークを実行すると、データが破損することがあります。データを保護するために、ハンドルを使用する前に Flush を呼び出し、ハンドルの使用後は Close 以外のメソッドを呼び出さないようにします。
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 名前空間