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, Outputnebo Random. Další informace najdete v tématu OpenMode .
- Access
- OpenAccess
Nepovinný parametr. Výčet určující operace povolené pro otevřený soubor: Read, Writenebo 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 Writea 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.