FileSystem.FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32) Methode

Definition

Öffnet eine Datei für Eingabe oder Ausgabe.Opens a file for input or output. Das My-Feature bietet höhere Produktivität und Leistung bei Datei-E/A-Vorgängen als FileOpen.The My feature gives you better productivity and performance in file I/O operations than FileOpen. Weitere Informationen finden Sie unter FileSystem.For more information, see 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.Required. Eine beliebige gültige Dateinummer.Any valid file number. Verwenden Sie die FreeFile-Funktion, um die nächste verfügbare Dateinummer zu erhalten.Use the FreeFile function to obtain the next available file number.

FileName
String

Erforderlich.Required. Ein Zeichenfolgenausdruck, der einen Dateinamen angibt. Kann das Verzeichnis oder den Ordner und das Laufwerk enthalten.A string expression that specifies a file name - may include directory or folder, and drive.

Mode
OpenMode

Erforderlich.Required. Eine Enumeration, die den Dateimodus angibt: Append, Binary, Input, Output oder Random.Enumeration specifying the file mode: Append, Binary, Input, Output, or Random. Weitere Informationen finden Sie unter OpenMode.For more information, see OpenMode .

Access
OpenAccess

Dies ist optional.Optional. Eine Enumeration, die die für eine offene Datei erlaubten Operationen angibt: Read, Write oder ReadWrite.Enumeration specifying the operations permitted on the open file: Read, Write, or ReadWrite. Wird standardmäßig auf ReadWrite festgelegt.Defaults to ReadWrite. Weitere Informationen finden Sie unter OpenAccess.For more information, see OpenAccess .

Share
OpenShare

Dies ist optional.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.Enumeration specifying the operations not permitted on the open file by other processes: Shared, Lock Read, Lock Write, and Lock Read Write. Wird standardmäßig auf Lock Read Write festgelegt.Defaults to Lock Read Write. Weitere Informationen finden Sie unter OpenShare.For more information, see OpenShare .

RecordLength
Int32

Optional.Optional. Eine Zahl kleiner oder gleich 32.767 (Bytes).Number less than or equal to 32,767 (bytes). Bei Dateien, die mit Random-Zugriff geöffnet wurden, ist dieser Wert die Datensatzlänge.For files opened for random access, this value is the record length. Bei sequenziellen Dateien ist dieser Wert die Anzahl von gepufferten Zeichen.For sequential files, this value is the number of characters buffered.

Ausnahmen

Datensatzlänge ist negativ (und nicht gleich -1).Record length is negative (and not equal to -1).

FileName ist bereits geöffnet, oder FileName ist ungültig.FileName is already open, or FileName is invalid.

Beispiele

In diesem Beispiel werden verschiedene Verwendungsmöglichkeiten der FileOpen-Funktion veranschaulicht, um die Eingabe und Ausgabe in einer Datei zu aktivieren.This example illustrates various uses of the FileOpen function to enable input and output to a file.

Mit dem folgenden Code wird die Datei TestFile im Input Modus geöffnet.The following code opens the file TestFile in Input mode.

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.This example opens the file in Binary mode for writing operations only.

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.The following example opens the file in Random mode. Die Datei enthält Datensätze der Struktur Person.The file contains records of the structure 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 die Datei lesen oder in diese schreiben.This code example opens the file in Output mode; any process can read or write to file.

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.This code example opens the file in Binary mode for reading; other processes cannot read file.

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.The FileOpen function is provided for backward compatibility and may affect performance. Bei nicht Legacy Anwendungen bietet das My.Computer.FileSystem-Objekt eine bessere Leistung.For non-legacy applications, the My.Computer.FileSystem object provides better performance. Weitere Informationen finden Sie unter Dateizugriff mit Visual Basic.For more information, see File Access with Visual Basic.

Sie müssen eine Datei öffnen, bevor ein e/a-Vorgang für Sie ausgeführt werden kann.You must open a file before any I/O operation can be performed on it. FileOpen ordnet der Datei einen Puffer für e/a zu und bestimmt den Zugriffsmodus, der mit dem Puffer verwendet werden soll.FileOpen allocates a buffer for I/O to the file and determines the mode of access to use with the buffer.

Wichtig

Wenn Sie in eine Datei schreiben, muss eine Anwendung möglicherweise eine Datei erstellen, wenn die Datei, zu der Sie schreiben möchten, nicht vorhanden ist.When writing to a file, an application may have to create a file, if the file to which it is trying to write does not exist. Zu diesem Zweck benötigt er die Berechtigung für das Verzeichnis, in dem die Datei erstellt werden soll.To do so, it needs permission for the directory in which the file is to be created. Wenn jedoch die durch FileName angegebene Datei vorhanden ist, benötigt die Anwendung Write Berechtigung nur für die Datei selbst.However, if the file specified by FileName does exist, the application needs Write permission only to the file itself. Wenn möglich, sollten Sie zur Verbesserung der Sicherheit die Datei während der Bereitstellung erstellen und Write Berechtigung nur für diese Datei erteilen, anstelle des gesamten Verzeichnisses.Wherever possible, to help improve security, create the file during deployment and grant Write permission to that file only, instead of to the whole directory. Um die Sicherheit zu verbessern, schreiben Sie Daten in Benutzerverzeichnisse anstatt in das Stammverzeichnis oder das Verzeichnis "Programme".To help improve security, write data to user directories instead of to the root directory or the Program Files directory.

Der zu öffnende Kanal kann mithilfe der FreeFile()-Funktion gefunden werden.The channel to open can be found by using the FreeFile() function.

Wichtig

Die FileOpen-Funktion erfordert Read Zugriff von der FileIOPermissionAccess-Enumeration, die sich möglicherweise auf die Ausführung in teilweise vertrauenswürdigen Situationen auswirkt.The FileOpen function requires Read access from the FileIOPermissionAccess enumeration, which may affect its execution in partial trust situations. Weitere Informationen finden Sie unter FileIOPermissionAccess-Enumeration.For more information, see FileIOPermissionAccess enumeration.

Gilt für:

Siehe auch