25
Velneo vDevelop
VTextFile
Esta clase representa a un fichero de texto y disponemos de funciones para consultar sus características, modificarlas así como crear, leer o escribir un fichero de texto en disco.

Funciones

Constructor
Función
VTextFile( String szFileName )
Generales
Retorno
Función
Boolean
atEnd()
void
close()
void
codec()
Number
error()
Boolean
exists()
String
void
flush()
Boolean
open( Number nMode )
Number
Number
pos()
String
readAll()
String
readLine( Number nMaxlen=0 )
Boolean
seek( Number nOffset )
void
setCodec( String szCodecName )
Boolean
setPermissions( Number nPermissions )
Number
size()
void
void
write( String szText )
De operaciones sobre ficheros
Retorno
Función
Boolean
copy( String szNewName )
Boolean
remove()
Boolean
rename( String szNewName )
Boolean
resize( Number nSize )

Enumeraciones

Nombres de códigos
  • "Apple Roman"
  • "Big5"
  • "Big5-HKSCS"
  • "CP949"
  • "EUC-JP"
  • "EUC-KR"
  • "GB18030-0"
  • "IBM 850"
  • "IBM 866"
  • "IBM 874"
  • "ISO 2022-JP"
  • "ISO 8859-1 to 10"
  • "ISO 8859-13 to 16"
  • "Iscii-Bng, Dev, Gjr, Knd, Mlm, Ori, Pnj, Tlg, and Tml"
  • "JIS X 0201"
  • "JIS X 0208"
  • "KOI8-R"
  • "KOI8-U"
  • "MuleLao-1"
  • "ROMAN8"
  • "Shift-JIS"
  • "TIS-620"
  • "TSCII"
  • "UTF-8"
  • "UTF-16"
  • "UTF-16BE"
  • "UTF-16LE"
  • "UTF-32"
  • "UTF-32BE"
  • "UTF-32LE"
  • "Windows-1250 to 1258"
  • "WINSAMI2"

Documentación de funciones

Constructor

VTextFile( String szFileName )

Crea una instancia de objeto de la clase VTextFile. Requiere importar previamente la clase: importClass( "VTextFile" ).
Parámetros:
  • szFileName: string que establece la senda del fichero de texto

Funciones generales

Boolean atEnd()

Devuelve true si el fin de fichero ha sido leído.

void close()

Cierra el fichero.

void codec()

Devuelve el code del fichero.
Nota: en Windows, el codec por defecto se basa en la configuración local. En sistemas Linux y Mac hará uso de la librería iconv si no hay configurado un codec local. En ambos casos, el nombre de codec que se devolvería la función codec de VTextFile sería "System".

Number error()

Devuelve el código numérico del error.

Boolean exists()

Devuelve true si el fichero existe, false en caso contrario.

String fileName()

Devuelve el nombre del fichero.

void flush()

Fuerza que se guarden todos los buffers a disco.

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: número 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 "|".

Number permissions()

Devuelve el código numérico de los permisos. Ver enum de permisos del fichero.

Number pos()

Devuelve la posición actual en el fichero.

String readAll()

Devuelve el contenido completo del fichero.

String readLine( Number nMaxlen=0 )

Devuelve el contenido de una línea.
Parámetros:
  • nMaxlen: número que establece la longitud máxima a devolver, por defecto 0 = hasta fin de línea.

Boolean seek( Number nOffset )

Establece la posición del fichero. Devuelve true si el posicionamiento finaliza correctamente.
Parámetros:
  • nOffset: número que establece la posición.

void setCodec( String szCodecName )

Establece el codec para codificar los datos que escriben. Debemos aplicar esta función sobre el objeto VTextFile creado antes de escribir.
Parámetros:
  • szCodecName: cadena que indica el codec. Ver lista de nombres de códigos.
Nota: en Windows, el codec por defecto se basa en la configuración local. En sistemas Linux y Mac hará uso de la librería iconv si no hay configurado un codec local. En ambos casos, el nombre de codec que se devolvería la función codec de VTextFile sería "System".

Boolean setPermissions( Number nPermissions )

Establece los permisos del fichero.
Parámetros:
  • nPermissions: número que define los permisos del fichero. Ver enum de permisos de un fichero.

Number size()

Devuelve el tamaño en bytes del fichero.

void unsetError()

Establece el error del fichero al valor del enum
VFile
::NoError.

void write( String szText )

Graba una cadena de texto en la posición en curso.
Parámetros:
  • szTexto: cadena que establece el texto a grabar.

Funciones de operaciones sobre ficheros

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: cadena que indica la senda donde se almacenará la copia del fichero

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: cadena 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: número que indica el número de bytes del nuevo tamaño del fichero

Ejemplos

1. Ejemplos de creación de un fichero de texto

1
////////////////////////////////////////////////////////////
2
// Ejemplo de creación de un fichero de texto
3
4
// Para usar las funciones de la clase VFile primero hay que importarla
5
importClass( "VTextFile" );
6
importClass( "VFile" );
7
8
// Se declara el objeto fichero
9
var fi = new VTextFile( "/TextFile.txt" );
10
11
// Se abre el fichero en modo escritura. Crea si no existe o limpia si existe
12
if ( fi.open( VFile.OpenModeWriteOnly | VFile.OpenModeTruncate) )
13
{
14
// Se llena el buffer con las 26 letras del abecedario
15
for( var x=0; x < 30; ++x )
16
{
17
fi.write( "Línea " + x + " de texto a grabar" + "\n" );
18
}
19
20
// Se cierra el fichero
21
fi.close();
22
}
23
else
24
// Si no ha sido posible abrir el fichero se muestra error
25
alert( "No se pudo abrir el fichero " + fi.fileName() + ", error " + fi.error(), "Error" );
Copied!

2. Ejemplos de lectura de un fichero de texto

1
////////////////////////////////////////////////////////////
2
// Ejemplo de lectura de un fichero de texto
3
4
// Para usar las funciones de la clase VFile primero hay que importarla
5
importClass( "VTextFile" );
6
importClass( "VFile" );
7
8
// Se declara el objeto fichero
9
var fi = new VTextFile( "/TextFile.txt" );
10
11
// Se abre el fichero en modo de sólo lectura
12
if ( fi.open( VFile.OpenModeReadOnly ) )
13
{
14
// Leer todo el fichero
15
alert( "Tamaño del fichero = " + fi.size() + " bytes" );
16
17
// Leer todo el fichero
18
alert( fi.readAll() );
19
20
// Como hemos leído todo el fichero estamos posicionados al final
21
// Para volver a leer el fichero línea a línea nos posicionamos al principio
22
fi.seek( 0 );
23
24
// Recorremos el fichero línea a línea guardando su contenido
25
var txt = "";
26
27
while ( fi.atEnd() == false )
28
{
29
txt += fi.readLine();
30
}
31
32
// Mostramos la variable con todo el contenido del fichero
33
alert( txt );
34
35
// Se cierra el fichero
36
fi.close();
37
}
38
else {
39
// Si no ha sido posible abrir el fichero se muestra error
40
alert( "No se pudo abrir el fichero " + fi.fileName() + ", error " + fi.error(), "Error" );
41
}
Copied!
Última actualización 1yr ago