FileSystem.FileOpen Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
- FileClose(Int32[])
- FreeFile()
- Reading from Files in Visual Basic
Az Visual Basic