FileSystem.FileOpen Yöntem

Tanım

Giriş veya çıkış için bir dosya açar. Bu My özellik, dosya G/Ç işlemlerinde FileOpendaha iyi üretkenlik ve performans sağlar. Daha fazla bilgi için bkz. 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)

Parametreler

FileNumber
Int32

Gerekli. Geçerli herhangi bir dosya numarası. FreeFile bir sonraki kullanılabilir dosya numarasını almak için işlevini kullanın.

FileName
String

Gerekli. Dosya adını belirten bir dize ifadesi, dizin veya klasör ve sürücü içerebilir.

Mode
OpenMode

Gerekli. Dosya modunu belirten numaralandırma: Append, Binary, Input, Outputveya Random. Daha fazla bilgi için bkz. OpenMode .

Access
OpenAccess

Optional. Açık dosyada izin verilen işlemleri belirten numaralandırma: Read, Writeveya ReadWrite. Varsayılan değer ReadWrite’dır. Daha fazla bilgi için bkz. OpenAccess .

Share
OpenShare

Optional. Açık dosyada diğer işlemler tarafından izin verilmeyen işlemleri belirten numaralandırma: Shared, Lock Read, Lock Writeve Lock Read Write. Varsayılan değer Lock Read Write’dır. Daha fazla bilgi için bkz. OpenShare .

RecordLength
Int32

Optional. 32.767'den küçük veya buna eşit sayı (bayt). Rastgele erişim için açılan dosyalar için bu değer kayıt uzunluğudur. Sıralı dosyalar için bu değer arabelleğe alınan karakter sayısıdır.

Özel durumlar

Kayıt uzunluğu negatiftir (ve -1eşit değildir).

FileName zaten açık veya FileName geçersiz.

Örnekler

Bu örnekte, bir dosyaya giriş ve çıkışı etkinleştirmek için işlevinin FileOpen çeşitli kullanımları gösterilmektedir.

Aşağıdaki kod dosyayı TestFile modda Input açar.

FileOpen(1, "TESTFILE", OpenMode.Input)
' Close before reopening in another mode.
FileClose(1)

Bu örnek, dosyayı Binary yalnızca yazma işlemleri için modunda açar.

FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Write)
' Close before reopening in another mode.
FileClose(1)

Aşağıdaki örnek dosyayı modda Random açar. dosyası yapısının Personkayıtlarını içerir.

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

Bu kod örneği dosyayı modunda Output açar; herhangi bir işlem dosyaya okuyabilir veya yazabilir.

FileOpen(1, "TESTFILE", OpenMode.Output, OpenAccess.Default, OpenShare.Shared)
' Close before reopening in another mode.
FileClose(1)

Bu kod örneği, dosyayı okuma modunda Binary açar; diğer işlemler dosyayı okuyamaz.

FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Read,
   OpenShare.LockRead)

Açıklamalar

İşlev FileOpen geriye dönük uyumluluk için sağlanır ve performansı etkileyebilir. Eski olmayan uygulamalar My.Computer.FileSystem için nesnesi daha iyi performans sağlar. Daha fazla bilgi için bkz. Visual Basic ile Dosya Erişimi.

Herhangi bir G/Ç işleminin gerçekleştirilebilmesi için önce dosyayı açmanız gerekir. FileOpen dosyaya G/Ç için bir arabellek ayırır ve arabellekle kullanılacak erişim modunu belirler.

Important

Bir dosyaya yazarken, yazmaya çalıştığı dosya yoksa uygulamanın bir dosya oluşturması gerekebilir. Bunu yapmak için, dosyanın oluşturulacağı dizin için izin gerekir. Ancak, tarafından FileName belirtilen dosya varsa, uygulamanın yalnızca dosyanın kendisi için izin alması gerekir Write . Güvenliğin geliştirilmesine yardımcı olmak için mümkün olduğunda, dağıtım sırasında dosyayı oluşturun ve dizinin tamamı yerine yalnızca bu dosyaya izin verin Write . Güvenliği geliştirmeye yardımcı olmak için kök dizine veya Program Files dizinine değil kullanıcı dizinlerine veri yazın.

Açılacak kanal işlevi kullanılarak FreeFile() bulunabilir.

Important

İşlev, FileOpen kısmi güven durumlarında yürütülmesini etkileyebilecek numaralandırmadan Read erişim gerektirirFileIOPermissionAccess. Daha fazla bilgi için bkz FileIOPermissionAccess . numaralandırma.

Şunlara uygulanır

Ayrıca bkz.