FileSystem.FileOpen Метод

Определение

Открывает файл для входных или выходных данных. Эта My функция обеспечивает лучшую производительность и производительность операций ввода-вывода файлов, чем FileOpen. Дополнительные сведения см. в разделе 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)

Параметры

FileNumber
Int32

Обязательно. Любой допустимый номер файла. Используйте функцию FreeFile для получения следующего доступного номера файла.

FileName
String

Обязательно. Строковое выражение, указывающее имя файла, может включать каталог или папку и диск.

Mode
OpenMode

Обязательно. Перечисление, указывающее режим файла: Append, Binary, Input, Outputили Random. Дополнительные сведения см. в статье OpenMode.

Access
OpenAccess

Optional. Перечисление, указывающее операции, разрешенные в открытом файле: Read, Writeили ReadWrite. По умолчанию — ReadWrite. Дополнительные сведения см. в статье OpenAccess.

Share
OpenShare

Optional. Перечисление, указывающее операции, которые не разрешены для открытого файла другими процессами: Shared, , Lock ReadLock Writeи Lock Read Write. По умолчанию — Lock Read Write. Дополнительные сведения см. в статье OpenShare.

RecordLength
Int32

Optional. Число меньше или равное 32767 (байт). Для файлов, открытых для прямого доступа это значение равно значению длины записи. Для файлов с последовательным доступом значение представляет собой число буферизуемых символов.

Исключения

Длина записи отрицательная (и не равна -1).

FileName уже открыт или FileName недопустим.

Примеры

В этом примере показано использование FileOpen функции для включения входных и выходных данных в файл.

Следующий код открывает файл TestFile в Input режиме.

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

В этом примере файл открывается в Binary режиме только для записи операций.

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

В следующем примере файл открывается в Random режиме. Файл содержит записи структуры 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

Этот пример кода открывает файл в Output режиме; любой процесс может читать или записывать в файл.

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

Этот пример кода открывает файл в Binary режиме чтения; другие процессы не могут считывать файл.

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

Комментарии

Функция FileOpen предоставляется для обратной совместимости и может повлиять на производительность. Для приложений, отличных от прежних версий, My.Computer.FileSystem объект обеспечивает более высокую производительность. Дополнительные сведения см. в разделе File Access с Visual Basic.

Перед тем как выполнять операции ввода-вывода для файла, его необходимо открыть. FileOpen выделяет буфер для ввода-вывода в файл и определяет режим доступа к буферу.

Important

При записи в файл приложение может потребоваться создать файл, если файл, в который он пытается написать, не существует. Для этого требуется разрешение для каталога, в котором будет создан файл. Однако если файл, указанный в FileName файле, существует, приложению требуется Write разрешение только для самого файла. Если это возможно, чтобы повысить безопасность, создайте файл во время развертывания и предоставьте Write разрешение только для этого файла, а не всему каталогу. Чтобы повысить безопасность, запишите данные в каталоги пользователей вместо корневого каталога или каталога Program Files.

Канал, который нужно открыть, можно найти с помощью FreeFile() функции.

Important

Функция FileOpen требует Read доступа из FileIOPermissionAccess перечисления, что может повлиять на его выполнение в ситуациях с частичным доверием. Дополнительные сведения см. в перечислении FileIOPermissionAccess .

Применяется к

См. также раздел