FileSystem.FileOpen メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ファイルを開いて入出力を行います。 My
機能を使用すると、FileOpen
よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。
public static void FileOpen (int FileNumber, string FileName, Microsoft.VisualBasic.OpenMode Mode, Microsoft.VisualBasic.OpenAccess Access = Microsoft.VisualBasic.OpenAccess.Default, Microsoft.VisualBasic.OpenShare Share = Microsoft.VisualBasic.OpenShare.Default, int RecordLength = -1);
static member FileOpen : int * string * Microsoft.VisualBasic.OpenMode * Microsoft.VisualBasic.OpenAccess * Microsoft.VisualBasic.OpenShare * int -> unit
Public Sub FileOpen (FileNumber As Integer, FileName As String, Mode As OpenMode, Optional Access As OpenAccess = Microsoft.VisualBasic.OpenAccess.Default, Optional Share As OpenShare = Microsoft.VisualBasic.OpenShare.Default, Optional RecordLength As Integer = -1)
パラメーター
- FileNumber
- Int32
必須です。 任意の有効なファイル数。 FreeFile
関数を使用して、次に使用できるファイル番号を取得します。
- FileName
- String
必須です。 ファイル名を指定する文字列式。ディレクトリまたはフォルダー、およびドライブを含めることができます。
- Mode
- OpenMode
必須です。 ファイル モード (Append
、Binary
、Input
、Output
、または Random
) を指定する列挙体。 詳細については、「OpenMode」を参照してください。
- Access
- OpenAccess
省略可能。 開いているファイルで許可されている操作 (Read
、Write
、または ReadWrite
) を示す列挙体。 既定値は ReadWrite
です。 詳細については、「OpenAccess」を参照してください。
- Share
- OpenShare
省略可能。 他のプロセスによって開かれたファイルで許可されていない操作 (Shared
、Lock Read
、Lock Write
、および Lock Read Write
) を指定する列挙体。 既定値は Lock Read Write
です。 詳細については、「OpenShare」を参照してください。
- RecordLength
- Int32
省略可能。 32,767 以下の値 (バイト単位)。 ランダム アクセス ファイルの場合は、レコード長を表します。 シーケンシャル ファイルの場合は、バッファー内の文字数を表します。
例外
レコード長が、-1 ではない負の値です。
FileName
が既に開かれています。または FileName
が無効です。
例
この例では、 関数を使用して FileOpen
ファイルへの入力と出力を有効にするさまざまな使用方法を示します。
次のコードは、ファイル TestFile
をモードで Input
開きます。
FileOpen(1, "TESTFILE", OpenMode.Input)
' Close before reopening in another mode.
FileClose(1)
この例では、書き込み操作専用のモードで Binary
ファイルを開きます。
FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Write)
' Close before reopening in another mode.
FileClose(1)
次の例では、ファイルをモードで Random
開きます。 ファイルには、 構造体 Person
のレコードが含まれています。
Structure Person
<VBFixedString(30)> Dim Name As String
Dim ID As Integer
End Structure
Public Sub ExampleMethod()
' Count 30 for the string, plus 4 for the integer.
FileOpen(1, "TESTFILE", OpenMode.Random, , , 34)
' Close before reopening in another mode.
FileClose(1)
End Sub
このコード例では、ファイルをモードで Output
開きます。どのプロセスでもファイルの読み取りまたは書き込みを行うことができます。
FileOpen(1, "TESTFILE", OpenMode.Output, OpenAccess.Default, OpenShare.Shared)
' Close before reopening in another mode.
FileClose(1)
このコード例では、ファイルを読み取りモードで Binary
開きます。他のプロセスではファイルを読み取ることができません。
FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Read,
OpenShare.LockRead)
注釈
関数は FileOpen
下位互換性のために提供されており、パフォーマンスに影響を与える可能性があります。 レガシ以外のアプリケーションの場合、オブジェクトのパフォーマンスが My.Computer.FileSystem
向上します。 詳しくは、「Visual Basic におけるファイル アクセス」をご覧ください。
I/O 操作を実行するには、ファイルを開く必要があります。 FileOpen
は、I/O 用のバッファーをファイルに割り当て、バッファーで使用するアクセス モードを決定します。
重要
ファイルに書き込むときに、書き込もうとしているファイルが存在しない場合、アプリケーションでファイルを作成しなければならない場合があります。 そのためには、ファイルを作成するディレクトリに対するアクセス許可が必要です。 ただし、 で FileName
指定されたファイルが存在する場合、アプリケーションにはファイル自体に対するアクセス許可のみが必要 Write
です。 可能な限り、セキュリティを向上させるために、デプロイ時にファイルを作成し、ディレクトリ全体ではなく、そのファイルにのみアクセス許可を付与 Write
します。 セキュリティを向上させるには、ルート ディレクトリまたは Program Files ディレクトリではなく、ユーザー ディレクトリにデータを書き込みます。
開くチャネルは、 関数を FreeFile()
使用して見つけることができます。
重要
関数にはFileOpen
列挙からのアクセスがFileIOPermissionAccess
必要Read
です。これは、部分信頼の状況での実行に影響を与える可能性があります。 詳細については、FileIOPermissionAccess 列挙型を参照してください。
適用対象
こちらもご覧ください
.NET