VFile
Esta clase representa a un fichero binario y disponemos de funciones para consultar sus características, modificarlas así como crear, leer o escribir un fichero binario en disco.
Funciones
Constructor
Función
VFile( String szFileName )
De información de ficheros
De operaciones sobre el fichero
Para el buffer del fichero
Retorno
Función
Number
bufferAt( Number nIndex )
Number
Number
void
setBufferAt( Number nIndex, Number nValue )
void
setBufferSize( Number nSize )
Number
writeBuffer( Number nBytes = -1 )
Para VByteArray
Enumeraciones
Errores de fichero
ErrorNone = 00 Ok, no se ha producido ningún error
ErrorRead = 01 Se ha producido un error al leer del fichero
ErrorWrite = 02 Se ha producido un error al escribir en el fichero
ErrorFatal = 03 Se ha producido un error fatal
ErrorResource = 04 Se ha producido un error en el recurso
ErrorOpen = 05 No ha sido posible abrir el fichero
ErrorAbort = 06 Se ha abortado la operación sobre el fichero
ErrorTimeOut = 07 Se ha producido un error de timeout
ErrorUnspecified = 08 Se ha producido un error no especificado
ErrorRemove = 09 No ha sido posible eliminar el fichero
ErrorRename = 10 No ha sido posible renombrar el fichero
ErrorPosition = 11 La posición del fichero no puede ser modificada
ErrorResize = 12 No es posible redimensionar el fichero
ErrorPermissions = 13 No tiene permisos de acceso al fichero
ErrorCopy = 14 No se podido copiar el fichero
Flags de modos de apertura del fichero
OpenModeNotOpen = 0x0000 No está abierto
OpenModeReadOnly = 0x0001 Abierto para lectura
OpenModeWriteOnly = 0x0002 Abierto para escritura
OpenModeReadWrite = OpenModeReadOnly | OpenModeWriteOnly Abierto para lectura/escritura
OpenModeAppend = 0x0004 Abierto para escribir al final del fichero, sin borrar el contenido existente
OpenModeTruncate = 0x0008 Abierto para escritura truncando si no existe,si existe borra contenido antes de escribir
OpenModeText = 0x0010 Se abre en modo texto. Al leer el fin de línea se convierte al carácter "\n"
OpenModeUnbuffered = 0x0020 No se utiliza buffer para el fichero
Flags de permisos del fichero
PermissionReadOwner = 0x4000 El propietario puede leer el fichero
PermissionWriteOwner = 0x2000 El propietario puede escribir en el fichero
PermissionExeOwner = 0x1000 El propietario puede ejecutar el fichero
PermissionReadUser = 0x0400 El usuario puede leer el fichero
PermissionWriteUser = 0x0200 El usuario puede escribir en el fichero
PermissionExeUser = 0x0100 El usuario puede ejecutar el fichero
PermissionReadGroup = 0x0040 El grupo de usuarios puede leer el fichero
PermissionWriteGroup = 0x0020 El grupo de usuarios puede escribir en el fichero
PermissionExeGroup = 0x0010 El grupo de usuarios puede ejecutar el fichero
PermissionReadOther = 0x0004 Todos pueden leer el fichero
PermissionWriteOther = 0x0002 Todos pueden escribir en el fichero
PermissionExeOther = 0x0001 Todos pueden ejecutar el fichero
Documentación de funciones
Constructor
VFile( String szFileName )
Constructor. Crea una instancia de objeto de la clase VFile.
Parámetros:
szFileName: string que indica el nombre o senda del fichero.
Funciones de información de ficheros
Boolean atEnd()
Devuelve true si el fin de fichero ya ha sido leído.
Number error()
Devuelve el código de estado del fichero.
Ver enum de errores de fichero.
Boolean exists()
Devuelve true si el fichero existe.
String fileName()
Devuelve el nombre del fichero.
VFileInfo info()
Devuelve un objeto VFileInfo con la información del fichero.
Boolean isSequential()
Devuelve true si el fichero sólo puede ser manipulado secuencialmente.
Number permissions()
Devuelve el valor de los permisos del fichero.
El valor devuelto es la suma (OR) de los valores de los permisos. Ver enum flags de permisos del fichero. Los valores con combinables mediante el uso del operador bitwise or booleano "|".
Number pos()
Devuelve la posición en curso del fichero. Se corresponde con la posición del último dato escrito o leído.
Si el fichero está cerrado o es secuencial devuelve cero.
Number size()
Devuelve el tamaño del fichero.
String symLinkTarget()
Devuelve la senda absoluta del fichero o directorio del enlace simbólico o acceso directo.
Devuelve una cadena vacía si el fichero no es un enlace simbólico o acceso directo.
Funciones de operaciones sobre el fichero
void close()
Cierra el fichero.
Antes de cerrarlo ejecuta flush().
Boolean copy( String szNewName )
Hace una copia del fichero en curso con otro nombre o path.
Devuelve true si la copia ha podido realizarse con éxito.
Parámetros:
szNewName: string que indica la senda donde se almacenará la copia del fichero
Boolean flush()
Guarda en disco los buffers de datos del fichero.
Devuelve true si ha podido realizarse con éxito.
Boolean link( String szLinkName )
Crear un acceso directo (Windows) o enlace simbólico (Unix).
Devuelve true si se creado con éxito.
Parámetros:
szLinkName: string que indica el nombre o senda completa del enlace
Boolean open( Number nMode )
Abre el fichero. Devuelve true si ha podido abrirlo.
Abre el fichero con los modos especificados. Los modos de apertura son combinables. Se pueden especificar varios separados por "|".
Parámetros:
nMode: number que indica el modo de apertura. Ver enum de flags de modos de apertura del fichero. Los valores con combinables mediante el uso del operador bitwise or booleano "|".
Boolean remove()
Elimina el fichero en curso.
Devuelve true si se ha eliminado correctamente.
Boolean rename( String szNewName )
Renombra el fichero en curso.
Devuelve true si ha podido renombrarse correctamente. Si el fichero con el nombre szNewName ya existe devuelve false.
Parámetros:
szNewName: string que indica el nombre o senda nueva para el fichero.
Boolean resize( Number nSize )
Cambia el tamaño del fichero.
Devuelve true si ha podido realizarse correctamente.
Parámetros:
nSize: number que indica el número de bytes del nuevo tamaño del fichero
Boolean seek( Number nOffset )
Fija la posición en curso del fichero.
Devuelve true si se ha posicionado correctamente. Para fichero secuenciales devuelve el valor false.
Si la posición es posterior al fin de fichero, el fichero no se extiende, si se escribe en esa posición sí se extiende el fichero.
Parámetros:
nOffset: number que indica el número en bytes que representa la nueva posición del fichero.
Boolean setPermissions( Number nPermissions )
Fija los permisos del fichero. Se pueden especificar múltiples permisos de forma combinada, separados por "|". Devuelve true si la asignación de permisos ha finalizado correctamente.
Parámetros:
nPermissions: number que indica los permisos. Ver enum flags de permisos del fichero. Los valores con combinables mediante el uso del operador bitwise or booleano "|".
void unsetError()
Fija el estado del fichero al valor "ErrorNone" (sin errores).
Funciones para el buffer del fichero
Number bufferAt( Number nIndex )
Se usa para leer byte a byte el buffer.
Devuelve el valor del byte (valor entre 0 y 255) de la posición del buffer seleccionada.
Parámetros:
index: number que indica la posición del buffer.
Number bufferSize()
Fija el tamaño del buffer en bytes.
Parámetros:
nSize: número que indica el tamaño del buffer en bytes.
Number readBuffer()
Devuelve el número de bytes leídos que será el tamaño del buffer o menos.
Si el fichero está posicionado al final devolverá 0.
void setBufferAt( Number nIndex, Number nValue )
Escribir byte a byte en el buffer.
Parámetros:
nIndex: número que indica la posición del buffer en la que se escribirá.
nValue: número con valor de 0 a 255 que se escribirá en la posición del buffer.
void setBufferSize( Number nSize )
Fija el tamaño del buffer en bytes
Parámetros:
nSize: número que indica el tamaño del buffer en bytes
Number writeBuffer( Number nBytes = -1 )
Graba el buffer en el disco.
Parámetros:
nBytes: número que indica el número de bytes del buffer a escribir. Es opcional, si no se especifica asume el tamaño del buffer.
Funciones para VByteArray
VByteArray read( Number nMaxSize )
Retorna, como máximo el número de bytes especificados, en un objeto de la clase VByteArray. En caso de que el tamaño máximo especificado sea mayor que el tamaño del fichero, devolverá el contenido del fichero.
Parámetros:
nMaxSize: tamaño máximo de bytes que deseamos leer del fichero para añadir al VByteArray.
VByteArray readAll()
Retorna todo el contenido del fichero en un objeto de la clase VByteArray.
VByteArray readLine( Number nMaxSize = 0 )
Retorna el contenido de una línea del fichero. Si se especifica un tamaño máximo, nos devolverá ese número de bytes de la línea o en caso de ser menor el contenido de la línea.
Parámetros:
nMaxSize: tamaño máximo de bytes que deseamos leer de la línea para añadir al VByteArray. 0 = devolver toda la línea.
Number write( VByteArray baBuffer, Number nBytes = -1 )
Graba el contenido de un objeto VByteArray en el fichero.
Parámetros:
baBuffer: objeto de la clase VByteArray que devuelve un buffer con el contenido a grabar.
nBytes: número que indica el número de bytes del buffer a escribir. Es opcional, si no se especifica asume el tamaño del buffer.
Ejemplos
1. Ejemplo de creación de un fichero de texto
2. Ejemplo de lectura de un fichero binario
Última actualización