Udostępnij za pośrednictwem


FileSystem.FileOpen Metoda

Definicja

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, Outputlub Random. Aby uzyskać więcej informacji, zobacz OpenMode .

Access
OpenAccess

Opcjonalny. Wyliczenie określające operacje dozwolone w otwartym pliku: Read, Writelub 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 Writei 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.

Dotyczy

Zobacz też