FileSystem.FileOpen Metódus

Definíció

Fájl megnyitása bemenethez vagy kimenethez. A My funkció jobb hatékonyságot és teljesítményt biztosít a fájl I/O-műveletekben, mint FileOpena . További információért lásd 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)

Paraméterek

FileNumber
Int32

Kötelező. Bármely érvényes fájlszám. A függvény használatával FreeFile szerezze be a következő elérhető fájlszámot.

FileName
String

Kötelező. A fájlnevet meghatározó sztringkifejezések tartalmazhatnak könyvtárat vagy mappát és meghajtót.

Mode
OpenMode

Kötelező. Számbavétel a következő fájlmódot adja meg: Append, Binary, Input, Outputvagy Random. További információ: OpenMode .

Access
OpenAccess

Optional. A megnyitott fájlon engedélyezett műveletek számbavétele: Read, Writevagy ReadWrite. Alapértelmezett érték: ReadWrite. További információ: OpenAccess .

Share
OpenShare

Optional. A megnyitott fájlon más folyamatok által nem engedélyezett műveleteket meghatározó számbavétel: Shared, Lock Read, Lock Writeés Lock Read Write. Alapértelmezett érték: Lock Read Write. További információ: OpenShare .

RecordLength
Int32

Optional. 32 767-nél kisebb vagy egyenlő szám (bájt). A véletlenszerű hozzáférésre megnyitott fájlok esetében ez az érték a rekordhossz. Szekvenciális fájlok esetében ez az érték a pufferelt karakterek száma.

Kivételek

A rekord hossza negatív (és nem egyenlő -1).

FileName már meg van nyitva, vagy FileName érvénytelen.

Példák

Ez a példa a függvény különböző felhasználási módjait mutatja be a FileOpen fájl bemenetének és kimenetének engedélyezéséhez.

Az alábbi kód módban nyitja meg a TestFile fájltInput.

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

Ez a példa csak írási műveletekhez módban nyitja meg a Binary fájlt.

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

Az alábbi példa módban nyitja meg a Random fájlt. A fájl a struktúra Personrekordjait tartalmazza.

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

Ez a példakód módban nyitja meg a fájlt Output ; bármely folyamat képes olvasni vagy fájlba írni.

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

Ez a példakód olvasási módban nyitja meg a Binary fájlt, más folyamatok nem tudják olvasni a fájlt.

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

Megjegyzések

A FileOpen függvény a visszamenőleges kompatibilitás érdekében van megadva, és hatással lehet a teljesítményre. A nem örökölt alkalmazások esetében az My.Computer.FileSystem objektum jobb teljesítményt nyújt. További információ: File Access with Visual Basic.

Meg kell nyitnia egy fájlt, mielőtt bármilyen I/O-műveletet végre lehetne hajtani rajta. FileOpen lefoglal egy puffert az I/O számára a fájlhoz, és meghatározza a pufferrel való használathoz szükséges hozzáférési módot.

Important

Ha egy fájlba ír, előfordulhat, hogy az alkalmazásnak létre kell hoznia egy fájlt, ha az a fájl, amelyhez írni próbál, nem létezik. Ehhez engedélyre van szüksége ahhoz a könyvtárhoz, amelyben a fájlt létre szeretné hozni. Ha azonban a megadott FileName fájl létezik, az alkalmazásnak csak magára a fájlra van szüksége Write . Ahol csak lehetséges, a biztonság javítása érdekében hozza létre a fájlt az üzembe helyezés során, és csak az adott fájlra adjon Write engedélyt a teljes könyvtár helyett. A biztonság javítása érdekében ne a gyökérkönyvtárba vagy a ProgramFájlok könyvtárba, hanem a felhasználói címtárakba írjon adatokat.

A megnyitni kívánt csatorna a FreeFile() függvény használatával érhető el.

Important

A FileOpen függvénynek hozzáférésre van szüksége Read az FileIOPermissionAccess enumerálásból, ami befolyásolhatja a végrehajtást részleges megbízhatósági helyzetekben. További információ: FileIOPermissionAccess enumerálás.

A következőre érvényes:

Lásd még