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
Необязательный элемент. Перечисление, определяющие операции, разрешенные для работы с открытым файлом: Read
, Write
или ReadWrite
. По умолчанию — ReadWrite
. Дополнительные сведения см. в разделе OpenAccess.
- Share
- OpenShare
Необязательный элемент. Перечисление операций, не разрешенных при работе с файлом, открытым другим процессом: Shared
, Lock Read
, Lock Write
и Lock Read Write
. По умолчанию — Lock Read Write
. Дополнительные сведения см. в разделе OpenShare.
- RecordLength
- Int32
Необязательный элемент. Число, не превышающее 32 767 (байт). Для файлов, открытых с произвольным доступом, это значение является длиной записи. Для файлов с последовательным доступом — это число знаков в буфере.
Исключения
Отрицательная длина записи (не равная –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
устаревшими, объект обеспечивает более высокую производительность. Дополнительные сведения см. в статье Доступ к файлам с помощью Visual Basic.
Перед выполнением с ним любой операции ввода-вывода необходимо открыть файл. FileOpen
выделяет буфер для операций ввода-вывода для файла и определяет режим доступа для использования с буфером.
Важно!
При записи в файл приложению может потребоваться создать файл, если файл, в который оно пытается записать, не существует. Для этого ему требуется разрешение для каталога, в котором должен быть создан файл. Однако если файл, указанный параметром FileName
, существует, приложению требуется Write
разрешение только на сам файл. Везде, где это возможно, чтобы повысить безопасность, создайте файл во время развертывания и предоставьте Write
разрешение только для этого файла, а не для всего каталога. Чтобы повысить безопасность, записывайте данные в пользовательские каталоги, а не в корневой каталог или каталог Program Files.
Канал для открытия можно найти с помощью FreeFile()
функции .
Важно!
Функции FileOpen
требуется Read
доступ из перечисления FileIOPermissionAccess
, что может повлиять на ее выполнение в ситуациях частичного доверия. Дополнительные сведения см. в разделе FileIOPermissionAccess Перечисление.