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 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.