FileSystem.FileOpen Metoda

Definice

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 .

Platí pro

Viz také