FileSystem.FileOpen Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ö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.