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 lepší produktivitu a výkon při vstupně-výstupních operacích souborů než FileOpen. Další informace najdete na webu 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
Required. Libovolné platné číslo souboru.
FreeFile Funkce slouží k získání dalšího dostupného čísla souboru.
- FileName
- String
Required. Řetězcový výraz, který určuje název souboru – může obsahovat adresář nebo složku a jednotku.
- Mode
- OpenMode
Required. Výčet určující režim souboru: Append, Binary, Input, Output, nebo Random. Další informace naleznete v tématu OpenMode .
- Access
- OpenAccess
Optional. Výčet určující operace povolené v otevřeném souboru: Read, Writenebo ReadWrite. Výchozí hodnota je ReadWrite. Další informace naleznete v tématu OpenAccess .
- Share
- OpenShare
Optional. Výčet určující operace, které nejsou povoleny v otevřeném souboru jinými procesy: Shared, Lock Read, Lock Writea Lock Read Write. Výchozí hodnota je Lock Read Write. Další informace naleznete v tématu OpenShare .
- RecordLength
- Int32
Optional. Číslo menší nebo rovno 32 767 (bajty). 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ů v 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 nemůžou číst soubor.
FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Read,
OpenShare.LockRead)
Poznámky
Funkce je poskytována FileOpen kvůli zpětné kompatibilitě a může mít vliv na výkon. U starších aplikací My.Computer.FileSystem objekt poskytuje lepší výkon. Další informace najdete v tématu File Access s Visual Basic.
Před provedením jakékoli vstupně-výstupní operace musíte otevřít soubor.
FileOpen přidělí vyrovnávací paměť pro vstupně-výstupní operace do souboru a určuje režim přístupu, který se má použít s vyrovnávací pamětí.
Important
Při zápisu do souboru může aplikace muset vytvořit soubor, pokud soubor, do kterého se pokouší zapisovat, neexistuje. K tomu potřebuje oprávnění pro adresář, ve kterém se má soubor vytvořit. Pokud však soubor určený FileName existuje, aplikace potřebuje Write oprávnění pouze k samotnému souboru. Pokud je to možné, vytvořte soubor během nasazování a udělte Write mu oprávnění pouze, nikoli celému adresáři. Kvůli lepšímu zabezpečení zapisujte data do adresářů uživatelů místo do kořenového adresáře nebo do adresáře Program Files.
Kanál, který se má otevřít, najdete pomocí FreeFile() funkce.
Important
Funkce FileOpen vyžaduje Read přístup z výčtu FileIOPermissionAccess , který může ovlivnit jeho spuštění v situacích částečné důvěryhodnosti. Další informace naleznete v výčtu FileIOPermissionAccess .