FileSystem.FileOpen Methode

Definition

Öffnet eine Datei für Eingabe oder Ausgabe. Das My Feature bietet Ihnen eine bessere Produktivität und Leistung in 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

Required. Eine beliebige gültige Dateinummer. Verwenden Sie die FreeFile Funktion, um die nächste verfügbare Dateinummer abzurufen.

FileName
String

Required. Ein Zeichenfolgenausdruck, der einen Dateinamen angibt – kann Verzeichnis oder Ordner und Laufwerk enthalten.

Mode
OpenMode

Required. Aufzählung, die den Dateimodus angibt: Append, , Binary, Input, , Outputoder Random. Weitere Informationen finden Sie unter OpenMode.

Access
OpenAccess

Dies ist optional. Aufzählung, die die für die geöffnete Datei zulässigen Vorgänge angibt: Read, , Writeoder ReadWrite. Wird standardmäßig auf ReadWrite festgelegt. Weitere Informationen finden Sie unter OpenAccess.

Share
OpenShare

Dies ist optional. Aufzählung, die die Vorgänge angibt, die für die geöffnete Datei durch andere Prozesse nicht zulässig sind: Shared, , Lock Read, und Lock WriteLock Read Write. Wird standardmäßig auf Lock Read Write festgelegt. Weitere Informationen finden Sie unter OpenShare.

RecordLength
Int32

Dies ist optional. Zahl kleiner oder gleich 32.767 (Bytes). Bei Dateien, die mit wahlfreiem Zugriff geöffnet wurden, stellt dieser Wert die Datensatzlänge dar. Für sequenzielle Dateien ist dieser Wert die Anzahl der gepufferten Zeichen.

Ausnahmen

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

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

Beispiele

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

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 nur für Schreibvorgänge im Binary Modus 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 in eine Datei lesen oder 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 keine Datei 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. Bei Nicht-Legacy-Anwendungen bietet das My.Computer.FileSystem Objekt eine bessere Leistung. Weitere Informationen finden Sie unter File Access mit Visual Basic.

Sie müssen eine Datei öffnen, damit E/A-Vorgänge darauf ausgeführt werden können. FileOpen weist der Datei einen Puffer zu und bestimmt den Modus des Zugriffs, der mit dem Puffer verwendet werden soll.

Important

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 ist die Berechtigung für das Verzeichnis erforderlich, in dem die Datei erstellt werden soll. Wenn die durch FileName die Angegebene Datei jedoch vorhanden ist, benötigt Write die Anwendung nur die Berechtigung für die Datei selbst. Um die Sicherheit zu verbessern, erstellen Sie die Datei während der Bereitstellung, und erteilen Sie Write nur die Berechtigung für diese Datei anstelle des gesamten Verzeichnisses. Um die Sicherheit zu verbessern, schreiben Sie Daten in Benutzerverzeichnisse anstelle des Stammverzeichnisses oder im Verzeichnis "Programme".

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

Important

Die FileOpen Funktion erfordert Read Zugriff von der FileIOPermissionAccess Aufzählung, was sich auf die Ausführung in teilweisen Vertrauenssituationen auswirken kann. Weitere Informationen finden Sie unter FileIOPermissionAccess Enumeration.

Gilt für:

Weitere Informationen