FileSystem.FileOpen Método

Definición

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

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

FileName
String

Required. Expresión de cadena que especifica un nombre de archivo: puede incluir directorio o carpeta y unidad.

Mode
OpenMode

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

Access
OpenAccess

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

Share
OpenShare

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

RecordLength
Int32

Optional. Número menor que o igual a 32 767 (bytes). Para los archivos abiertos para acceso aleatorio, este valor es la longitud del registro. Para los archivos secuenciales, este valor es el número de caracteres almacenados.

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 solo se abre el archivo en Binary modo para escribir operaciones.

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 obtener más información, vea File Access with Visual Basic.

Debe abrir un archivo antes de poder realizar cualquier operación 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, consulte FileIOPermissionAccess enumeración.

Se aplica a

Consulte también