FileSystem.FileOpen Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.