FileSystem.FileOpen Methode

Definition

Öffnet eine Datei für Eingabe oder Ausgabe. Das My-Feature bietet höhere Produktivität und Leistung bei Datei-E/A-Vorgängen als FileOpen. Weitere Informationen finden Sie unter 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)

Parameter

FileNumber
Int32

Erforderlich. Eine beliebige gültige Dateinummer. Verwenden Sie die FreeFile-Funktion, um die nächste verfügbare Dateinummer zu erhalten.

FileName
String

Erforderlich. Ein Zeichenfolgenausdruck, der einen Dateinamen angibt. Kann das Verzeichnis oder den Ordner und das Laufwerk enthalten.

Mode
OpenMode

Erforderlich. Eine Enumeration, die den Dateimodus angibt: Append, Binary, Input, Output oder Random. Weitere Informationen finden Sie unter OpenMode.

Access
OpenAccess

Dies ist optional. Eine Enumeration, die die für eine offene Datei erlaubten Operationen angibt: Read, Write oder ReadWrite. Wird standardmäßig auf ReadWrite festgelegt. Weitere Informationen finden Sie unter OpenAccess.

Share
OpenShare

Dies ist optional. Eine Enumeration, die für eine offene Datei aus anderen Prozessen nicht erlaubten Operationen angibt: Shared, Lock Read, Lock Write und Lock Read Write. Wird standardmäßig auf Lock Read Write festgelegt. Weitere Informationen finden Sie unter OpenShare.

RecordLength
Int32

Dies ist optional. Eine Zahl kleiner oder gleich 32.767 (Bytes). Bei Dateien, die mit Random-Zugriff geöffnet wurden, ist dieser Wert die Datensatzlänge. Bei sequenziellen Dateien ist dieser Wert die Anzahl von gepufferten Zeichen.

Ausnahmen

Datensatzlänge ist negativ (und nicht gleich -1).

FileName ist bereits geöffnet, oder FileName ist ungültig.

Beispiele

In diesem Beispiel werden verschiedene Verwendungsmöglichkeiten der Funktion veranschaulicht, um die FileOpen Eingabe und Ausgabe in eine Datei zu aktivieren.

Der folgende Code öffnet die Datei TestFile im Input Modus.

FileOpen(1, "TESTFILE", OpenMode.Input)
' Close before reopening in another mode.
FileClose(1)

In diesem Beispiel wird die Datei im Binary Modus nur für Schreibvorgänge geöffnet.

FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Write)
' Close before reopening in another mode.
FileClose(1)

Im folgenden Beispiel wird die Datei im Random Modus geöffnet. Die Datei enthält Datensätze der Struktur 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

In diesem Codebeispiel wird die Datei im Output Modus geöffnet. Jeder Prozess kann eine Datei lesen oder in eine Datei schreiben.

FileOpen(1, "TESTFILE", OpenMode.Output, OpenAccess.Default, OpenShare.Shared)
' Close before reopening in another mode.
FileClose(1)

In diesem Codebeispiel wird die Datei im Binary Modus zum Lesen geöffnet. Andere Prozesse können die Datei nicht lesen.

FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Read,
   OpenShare.LockRead)

Hinweise

Die FileOpen Funktion wird aus Gründen der Abwärtskompatibilität bereitgestellt und kann sich auf die Leistung auswirken. Für Nicht-Legacy-Anwendungen bietet das My.Computer.FileSystem Objekt eine bessere Leistung. Weitere Informationen finden Sie unter Dateizugriff mit Visual Basic.

Sie müssen eine Datei öffnen, bevor ein E/A-Vorgang für sie ausgeführt werden kann. FileOpen weist der Datei einen Puffer für E/A zu und bestimmt den Zugriffsmodus, der mit dem Puffer verwendet werden soll.

Wichtig

Beim Schreiben in eine Datei muss eine Anwendung möglicherweise eine Datei erstellen, wenn die Datei, in die sie schreiben möchte, nicht vorhanden ist. Dazu benötigt es die Berechtigung für das Verzeichnis, in dem die Datei erstellt werden soll. Wenn die von FileName angegebene Datei jedoch vorhanden ist, benötigt Write die Anwendung nur die Berechtigung für die Datei selbst. Wenn möglich, erstellen Sie die Datei während der Bereitstellung, um die Sicherheit zu verbessern, und erteilen Sie Write die Berechtigung nur für diese Datei und nicht für das gesamte Verzeichnis. Um die Sicherheit zu verbessern, schreiben Sie Daten in Benutzerverzeichnisse statt in das Stammverzeichnis oder das Verzeichnis Programme.

Der zu öffnende Kanal kann mithilfe der FreeFile() -Funktion gefunden werden.

Wichtig

Die FileOpen Funktion erfordert Read Zugriff von der FileIOPermissionAccess Enumeration, was sich auf die Ausführung in Situationen mit teilweiser Vertrauenswürdigkeit auswirken kann. Weitere Informationen finden Sie unter FileIOPermissionAccess Enumeration.

Gilt für:

Weitere Informationen