FileSystem.FileOpen Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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.
- FileClose(Int32[])
- FreeFile()
- Visual BasicReading>
Visual Basic