FileSystem.FileOpen Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Otwiera plik dla danych wejściowych lub wyjściowych. Ta My
funkcja zapewnia lepszą wydajność i wydajność operacji we/wy plików niż FileOpen
. Aby uzyskać więcej informacji, zobacz 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
Wymagane. Dowolna prawidłowa liczba plików. FreeFile
Użyj funkcji , aby uzyskać następny dostępny numer pliku.
- FileName
- String
Wymagane. Wyrażenie ciągu określające nazwę pliku — może zawierać katalog lub folder i dysk.
- Mode
- OpenMode
Wymagane. Wyliczenie określające tryb pliku: Append
, Binary
, Input
, Output
lub Random
. Aby uzyskać więcej informacji, zobacz OpenMode .
- Access
- OpenAccess
Opcjonalny. Wyliczenie określające operacje dozwolone w otwartym pliku: Read
, Write
lub ReadWrite
. Wartość domyślna to ReadWrite
. Aby uzyskać więcej informacji, zobacz OpenAccess .
- Share
- OpenShare
Opcjonalny. Wyliczenie określające operacje niedozwolone w otwartym pliku przez inne procesy: Shared
, Lock Read
, Lock Write
i Lock Read Write
. Wartość domyślna to Lock Read Write
. Aby uzyskać więcej informacji, zobacz OpenShare .
- RecordLength
- Int32
Opcjonalny. Liczba mniejsza lub równa 32 767 (bajty). W przypadku plików otwartych w celu uzyskania dostępu losowego ta wartość to długość rekordu. W przypadku plików sekwencyjnych ta wartość jest liczbą znaków buforowanych.
Wyjątki
Długość rekordu jest ujemna (a nie równa -1).
FileName
jest już otwarty lub FileName
jest nieprawidłowy.
Przykłady
W tym przykładzie pokazano różne zastosowania funkcji w celu włączenia danych wejściowych FileOpen
i wyjściowych do pliku.
Poniższy kod otwiera plik TestFile
w Input
trybie.
FileOpen(1, "TESTFILE", OpenMode.Input)
' Close before reopening in another mode.
FileClose(1)
W tym przykładzie plik jest otwierany tylko w Binary
trybie zapisywania operacji.
FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Write)
' Close before reopening in another mode.
FileClose(1)
Poniższy przykład otwiera plik w Random
trybie. Plik zawiera rekordy 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
Ten przykładowy kod otwiera plik w Output
trybie; dowolny proces może odczytywać lub zapisywać w pliku.
FileOpen(1, "TESTFILE", OpenMode.Output, OpenAccess.Default, OpenShare.Shared)
' Close before reopening in another mode.
FileClose(1)
Ten przykładowy kod otwiera plik w Binary
trybie odczytu. Inne procesy nie mogą odczytać pliku.
FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Read,
OpenShare.LockRead)
Uwagi
Funkcja FileOpen
jest udostępniana w celu zapewnienia zgodności z poprzednimi wersjami i może mieć wpływ na wydajność. W przypadku aplikacji innych My.Computer.FileSystem
niż starsze obiekt zapewnia lepszą wydajność. Aby uzyskać więcej informacji, zobacz Dostęp do plików za pomocą języka Visual Basic.
Aby można było wykonać operację we/wy, należy otworzyć plik. FileOpen
przydziela bufor dla operacji we/wy do pliku i określa tryb dostępu do użycia z buforem.
Ważne
Podczas zapisywania w pliku aplikacja może wymagać utworzenia pliku, jeśli plik, do którego próbuje zapisać, nie istnieje. W tym celu musi mieć uprawnienia do katalogu, w którym ma zostać utworzony plik. Jeśli jednak plik określony przez FileName
program istnieje, aplikacja musi Write
mieć uprawnienia tylko do samego pliku. Wszędzie tam, gdzie to możliwe, aby zwiększyć bezpieczeństwo, utworzyć plik podczas wdrażania i udzielić Write
uprawnień tylko do tego pliku, a nie do całego katalogu. Aby zwiększyć bezpieczeństwo, zapisz dane w katalogach użytkowników zamiast do katalogu głównego lub katalogu Program Files.
Kanał do otwarcia można znaleźć za pomocą FreeFile()
funkcji .
Ważne
Funkcja FileOpen
wymaga Read
dostępu z FileIOPermissionAccess
wyliczenia, co może mieć wpływ na jego wykonywanie w sytuacjach częściowego zaufania. Aby uzyskać więcej informacji, zobacz FileIOPermissionAccess wyliczenie.