FileSystem.FileOpen Metoda

Definice

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.

Platí pro

Viz také