1 00:00:01,330 --> 00:00:06,049 Vamos a ver en esta sesión la clase Random Access File. 2 00:00:07,129 --> 00:00:15,449 Esta clase nos permite acceder a ficheros de forma directa, es decir, a una posición concreta del fichero. 3 00:00:16,010 --> 00:00:21,030 Y además permite leer y escribir en el fichero, con lo cual es muy interesante. 4 00:00:21,449 --> 00:00:26,870 En general maneja ficheros binarios, aunque por supuesto un fichero de texto también se podría manejar. 5 00:00:27,530 --> 00:00:31,030 Entonces vamos a ver un poco cómo es esta clase. Vamos a verla por encima. 6 00:00:31,030 --> 00:00:42,270 Esta es la documentación en su última versión y vemos que tiene dos constructores, una de ellas se le pasa la ruta string name, la ruta al fichero y el modo de apertura. 7 00:00:42,429 --> 00:00:49,109 Ahora veremos qué modo la apertura tiene. En otro caso simplemente se le llama a la clase file del fichero que hayamos pasado previamente. 8 00:00:50,729 --> 00:00:56,090 Bueno, vamos a ir directamente a ver cómo es esta apertura y qué modos puede manejar. 9 00:00:56,090 --> 00:01:20,650 Los modos que puede manejar de apertura son R, que significa, vamos a ver si por aquí tuviéramos más detalle de la cuestión, aquí tenemos más detalles, R que significa apertura para lectura solo, RW que nos permite leer y escribir y además tiene una característica muy importante, es que si el fichero no existe, entonces intenta crearlo. 10 00:01:20,650 --> 00:01:30,109 y después otros modos que tienen que ver con la sincronía RWS y RWD. 11 00:01:30,750 --> 00:01:33,049 Generalmente nosotros vamos a utilizar las dos primeras. 12 00:01:33,849 --> 00:01:41,730 Una vez que hemos visto esta cabecera, vamos a ver qué métodos nos ofrece esta clase. 13 00:01:42,069 --> 00:01:46,209 Entonces vemos, por supuesto, como todo fichero, como todo string, como todo flujo, 14 00:01:46,650 --> 00:01:48,609 tiene su método para cerrar, close. 15 00:01:48,609 --> 00:02:06,290 Vamos a recordar lo más importante. Al ser un fichero de acceso directo podemos saber en qué posición nos encontramos y para eso tenemos el método getFilePointer. Saber la longitud del fichero, length, un montón de tipos de lecturas de datos. 16 00:02:06,290 --> 00:02:09,990 Ya vemos aquí todos los que hay, continúo por aquí, continúo por aquí. 17 00:02:11,129 --> 00:02:16,930 Un método para posicionarnos en un sitio cualquiera del fichero, el método SIG. 18 00:02:18,189 --> 00:02:28,050 En este método nos dice que posicionamos este puntero midiendo o inicializándolo desde el comienzo del fichero, 19 00:02:28,389 --> 00:02:32,750 con lo cual sería importante que nos quedáramos dentro del fichero y no nos saliéramos de él. 20 00:02:32,750 --> 00:02:38,650 tenemos un método para cambiar el tamaño del fichero, la longitud del fichero, algo muy importante 21 00:02:38,650 --> 00:02:44,349 y también otro método para saltar bytes, estamos en una posición y saltamos unos cuantos bytes 22 00:02:44,349 --> 00:02:48,129 un montón de métodos de escritura, todos estos de aquí 23 00:02:48,129 --> 00:02:55,870 y con esto tenemos ya preparado todas las posibilidades que nos ofrece Random Access File