FileSystem.FileOpen Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Otevře soubor pro vstup nebo výstup. Tato My
funkce poskytuje vyšší produktivitu a výkon při vstupně-výstupních operacích souborů než FileOpen
. Další informace naleznete v tématu 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)
Parametry
- FileNumber
- Int32
Povinná hodnota. Libovolné platné číslo souboru FreeFile
Pomocí funkce získejte další dostupné číslo souboru.
- FileName
- String
Povinná hodnota. Řetězcový výraz, který určuje název souboru – může obsahovat adresář nebo složku a jednotku.
- Mode
- OpenMode
Povinná hodnota. Výčet určující režim souborů: Append
, Binary
, Input
, Output
nebo Random
. Další informace najdete v tématu OpenMode .
- Access
- OpenAccess
Nepovinný parametr. Výčet určující operace povolené pro otevřený soubor: Read
, Write
nebo ReadWrite
. Výchozí hodnota je ReadWrite
. Další informace najdete v tématu OpenAccess .
- Share
- OpenShare
Nepovinný parametr. Výčet určující operace, které nejsou povoleny pro otevřený soubor jinými procesy: Shared
, Lock Read
, Lock Write
a Lock Read Write
. Výchozí hodnota je Lock Read Write
. Další informace najdete v tématu OpenShare .
- RecordLength
- Int32
Nepovinný parametr. Číslo menší nebo rovno 32 767 (bajtů). U souborů otevřených pro náhodný přístup je tato hodnota délka záznamu. U sekvenčních souborů je tato hodnota počet znaků ve vyrovnávací paměti.
Výjimky
Délka záznamu je záporná (a nerovná se -1).
FileName
je již otevřen nebo FileName
je neplatný.
Příklady
Tento příklad ukazuje různé použití FileOpen
funkce k povolení vstupu a výstupu do souboru.
Následující kód otevře soubor TestFile
v Input
režimu.
FileOpen(1, "TESTFILE", OpenMode.Input)
' Close before reopening in another mode.
FileClose(1)
Tento příklad otevře soubor v Binary
režimu pouze pro operace zápisu.
FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Write)
' Close before reopening in another mode.
FileClose(1)
Následující příklad otevře soubor v Random
režimu. Soubor obsahuje záznamy struktury 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
Tento příklad kódu otevře soubor v Output
režimu; jakýkoli proces může číst nebo zapisovat do souboru.
FileOpen(1, "TESTFILE", OpenMode.Output, OpenAccess.Default, OpenShare.Shared)
' Close before reopening in another mode.
FileClose(1)
Tento příklad kódu otevře soubor v Binary
režimu čtení; jiné procesy soubor nemohou číst.
FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Read,
OpenShare.LockRead)
Poznámky
Funkce FileOpen
je poskytována pro zpětnou kompatibilitu a může mít vliv na výkon. U jiných než starších aplikací My.Computer.FileSystem
objekt poskytuje lepší výkon. Další informace najdete v tématu Přístup k souborům pomocí jazyka Visual Basic.
Před provedením jakékoli vstupně-výstupní operace je nutné soubor otevřít. FileOpen
přidělí vyrovnávací paměť pro vstupně-výstupní operace souboru a určí režim přístupu, který se má s vyrovnávací pamětí použít.
Důležité
Při zápisu do souboru může být nutné, aby aplikace vytvořila soubor, pokud neexistuje soubor, do kterého se pokouší zapisovat. K tomu potřebuje oprávnění pro adresář, ve kterém se má soubor vytvořit. Pokud však soubor určený nástrojem FileName
existuje, aplikace potřebuje Write
oprávnění pouze k samotnému souboru. Pokud je to možné, pro zlepšení zabezpečení vytvořte soubor během nasazování a udělte Write
oprávnění jenom ho danému souboru místo k celému adresáři. Aby se zlepšilo zabezpečení, zapisujte data do uživatelských adresářů místo do kořenového adresáře nebo do adresáře Program Files.
Kanál, který chcete otevřít, najdete pomocí FreeFile()
funkce .
Důležité
Funkce FileOpen
vyžaduje Read
přístup z výčtu FileIOPermissionAccess
, což může ovlivnit její provádění v situacích s částečnou důvěryhodností. Další informace najdete ve FileIOPermissionAccess výčtu.