FileSystem.FileOpen Methode

Definitie

Hiermee opent u een bestand voor invoer of uitvoer. De My functie biedt u betere productiviteit en prestaties in bestands-I/O-bewerkingen dan FileOpen. Zie FileSystem voor meer informatie.

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)

Parameters

FileNumber
Int32

Required. Elk geldig bestandsnummer. Gebruik de FreeFile functie om het volgende beschikbare bestandsnummer op te halen.

FileName
String

Required. Een tekenreeksexpressie die een bestandsnaam aangeeft, kan map of map en station bevatten.

Mode
OpenMode

Required. Opsomming waarmee de bestandsmodus wordt opgegeven: , , , of OutputRandom. InputBinaryAppend Zie voor meer informatie OpenMode .

Access
OpenAccess

Optional. Opsomming die de bewerkingen opgeeft die zijn toegestaan voor het geopende bestand: Read, Writeof ReadWrite. Wordt standaard ingesteld op ReadWrite. Zie voor meer informatie OpenAccess .

Share
OpenShare

Optional. Opsomming die de bewerkingen opgeeft die niet zijn toegestaan voor het geopende bestand door andere processen: Shared, Lock Read, Lock Write, en Lock Read Write. Wordt standaard ingesteld op Lock Read Write. Zie voor meer informatie OpenShare .

RecordLength
Int32

Optional. Getal kleiner dan of gelijk aan 32.767 (bytes). Voor bestanden die zijn geopend voor willekeurige toegang, is deze waarde de recordlengte. Voor sequentiële bestanden is deze waarde het aantal tekens dat wordt gebufferd.

Uitzonderingen

Recordlengte is negatief (en niet gelijk aan -1).

FileName is al geopend of FileName is ongeldig.

Voorbeelden

In dit voorbeeld ziet u verschillende toepassingen van de FileOpen functie om invoer en uitvoer in te schakelen voor een bestand.

Met de volgende code wordt het bestand TestFile in Input de modus geopend.

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

In dit voorbeeld wordt het bestand alleen geopend in Binary de modus voor schrijfbewerkingen.

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

In het volgende voorbeeld wordt het bestand geopend in Random de modus. Het bestand bevat records van de structuur 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 dit codevoorbeeld wordt het bestand in Output de modus geopend. Elk proces kan naar het bestand lezen of schrijven.

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

In dit codevoorbeeld wordt het bestand geopend in Binary de modus voor lezen. Andere processen kunnen het bestand niet lezen.

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

Opmerkingen

De FileOpen functie is beschikbaar voor achterwaartse compatibiliteit en kan van invloed zijn op de prestaties. Voor niet-verouderde toepassingen biedt het My.Computer.FileSystem object betere prestaties. Zie File Access met Visual Basic voor meer informatie.

U moet een bestand openen voordat een I/O-bewerking erop kan worden uitgevoerd. FileOpen wijst een buffer voor I/O toe aan het bestand en bepaalt de toegangsmodus die met de buffer moet worden gebruikt.

Important

Wanneer u naar een bestand schrijft, moet een toepassing mogelijk een bestand maken als het bestand waarnaar het probeert te schrijven niet bestaat. Hiervoor is toestemming nodig voor de map waarin het bestand moet worden gemaakt. Als het bestand dat is opgegeven, FileName echter wel bestaat, heeft de toepassing alleen toestemming nodig Write voor het bestand zelf. Indien mogelijk, om de beveiliging te verbeteren, maakt u het bestand tijdens de implementatie en verleent Write u alleen machtigingen aan dat bestand in plaats van aan de hele map. Schrijf gegevens naar gebruikersmappen in plaats van naar de hoofdmap of de map Program Files om de beveiliging te verbeteren.

Het te openen kanaal is te vinden met behulp van de FreeFile() functie.

Important

De FileOpen functie vereist Read toegang vanaf de FileIOPermissionAccess opsomming, die van invloed kan zijn op de uitvoering ervan in gedeeltelijke vertrouwenssituaties. Zie opsomming voor meer informatie FileIOPermissionAccess .

Van toepassing op

Zie ook