Comparteix a través de


FileSystem.FileOpen Método

Definición

Abre un archivo para operaciones de entrada o salida. La característica My proporciona una mayor productividad y rendimiento en las operaciones de E/S de archivo que FileOpen. Para obtener más información, vea 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)

Parámetros

FileNumber
Int32

Obligatorio. Cualquier número de archivo válido. Utilice la función FreeFile para obtener el siguiente número de archivo disponible.

FileName
String

Obligatorio. Expresión de cadena que especifica un nombre de archivo y que puede incluir el directorio o la carpeta, y la unidad.

Mode
OpenMode

Obligatorio. Enumeración que especifica el modo de archivo: Append, Binary, Input, Output o Random. Para obtener más información, consulta OpenMode.

Access
OpenAccess

Opcional. Enumeración que especifica las operaciones permitidas en el archivo abierto: Read, Write o ReadWrite. Tiene como valor predeterminado ReadWrite. Para obtener más información, consulta OpenAccess.

Share
OpenShare

Opcional. Enumeración que especifica las operaciones no permitidas en el archivo abierto por otros procesos: Shared, Lock Read, Lock Write y Lock Read Write. Tiene como valor predeterminado Lock Read Write. Para obtener más información, consulta OpenShare.

RecordLength
Int32

Opcional. Número menor o igual que 32.767 (bytes). En el caso de los archivos abiertos para el acceso aleatorio, este valor es la longitud de registro. En el caso de los archivos secuenciales, este valor es el número de caracteres almacenados en búfer.

Excepciones

La longitud del registro es negativa (y no es igual a ‑1).

FileName ya está abierto o FileName no es válido.

Ejemplos

En este ejemplo se muestran varios usos de la función para habilitar la FileOpen entrada y salida en un archivo.

El código siguiente abre el archivo TestFile en Input modo .

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

En este ejemplo se abre el archivo en Binary modo solo para operaciones de escritura.

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

En el ejemplo siguiente se abre el archivo en Random modo . El archivo contiene registros de la estructura 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

En este ejemplo de código se abre el archivo en Output modo ; cualquier proceso puede leer o escribir en el archivo.

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

En este ejemplo de código se abre el archivo en Binary modo de lectura; otros procesos no pueden leer el archivo.

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

Comentarios

La FileOpen función se proporciona para la compatibilidad con versiones anteriores y puede afectar al rendimiento. En el caso de las aplicaciones no heredadas, el My.Computer.FileSystem objeto proporciona un mejor rendimiento. Para más información, consulte Acceso a archivos con Visual Basic.

Debe abrir un archivo antes de que se pueda realizar cualquier operación de E/S en él. FileOpen asigna un búfer para la E/S al archivo y determina el modo de acceso que se va a usar con el búfer.

Importante

Al escribir en un archivo, es posible que una aplicación tenga que crear un archivo, si el archivo en el que está intentando escribir no existe. Para ello, necesita permiso para el directorio en el que se va a crear el archivo. Sin embargo, si el archivo especificado por FileName existe, la aplicación solo necesita Write permiso para el propio archivo. Siempre que sea posible, para ayudar a mejorar la seguridad, cree el archivo durante la implementación y conceda Write permiso solo a ese archivo, en lugar de a todo el directorio. Para ayudar a mejorar la seguridad, escriba datos en directorios de usuario en lugar de en el directorio raíz o en el directorio Archivos de programa.

El canal que se va a abrir se puede encontrar mediante la FreeFile() función .

Importante

La FileOpen función requiere Read acceso desde la FileIOPermissionAccess enumeración, lo que puede afectar a su ejecución en situaciones de confianza parcial. Para obtener más información, vea FileIOPermissionAccess enumeración.

Se aplica a

Consulte también