Java RandomAccessfile

Java RandomAccessfile
Veremos la clase RandomAccessFile en este artículo. Utiliza un cursor para mover la ubicación del puntero a través del archivo. La capacidad de acceder al archivo le da el nombre al azar, RandomAccessFile.

Ejemplo 1: Agregar texto al final de un archivo

En este ejemplo, agregaremos el texto al final del siguiente archivo utilizando los métodos de la clase RandomAccessFile.

Primero, importamos el Java.IO. Clase RandomAccessfile. A continuación, hacemos un nuevo objeto del Archivo randomaccess llamando al constructor de RandomAccessFile ("Archivo.txt "," rw "). Con el nombre de archivo y el modo, esta función objeto () construye una transmisión randomAccessfile. En este caso, el modo es "RW" que inicia el archivo en el modo de lectura-escritura.

El método "Seek ()" se utiliza en la siguiente línea con el archivo de parámetros. El método longitud () establece el cursor/puntero a la posición especificada. En el caso anterior, es el final del texto del archivo. Luego, el método WriteBytes () se llama con la cadena ("iPsum") como sus parámetros. Este método escribe la cadena que comienza desde el punto de punto de archivo actual o el cursor. F.El método cerrar () cierra la transmisión del archivo de acceso aleatorio. Se liberan cualquier recurso del sistema utilizado por la transmisión.

Después de compilar el código dado, podemos ver los "datos agregados con éxito" en el terminal que indica que el código se ha ejecutado con éxito. Entonces, si abrimos el archivo ".archivo txt "en el que agregamos los datos en nuestro código, podemos ver que nuestros datos se agregan con éxito al final del archivo.

Ejemplo 2: Leer texto de un archivo de texto

En este ejemplo, leeremos el contenido de un archivo de texto utilizando los métodos de la clase RandomAccessFile. El archivo que se lee en este ejemplo es como se muestra en el siguiente:

En el código dado, primero importamos el "Java.IO.RandomAccessfile ”para usar sus métodos y funciones. Aquí, creamos una transmisión de archivo RandomAccess con el modo "R" que representa que está en modo de solo lectura. La compensación actual en bytes desde el inicio del archivo es proporcionada por la "F.Función GetFilePointer () ". Luego, suministramos este valor a la función Seek () que establece el puntero del archivo al comienzo del archivo donde tiene lugar la próxima lectura. Después de eso, generamos una matriz de 5 bytes. Cuando se llama al método de lectura con esta matriz como su parámetro (F.leer (bytes)), los 5 bytes se leen del archivo y se agregan a la matriz de 5 bytes.

La F.El método Close () cierra la transmisión RandomAccessFile. Se liberan cualquier recurso del sistema utilizado por la transmisión.

Finalmente, los bytes de retorno devuelven la matriz en la que se lee y se agrega el texto del archivo. Esto se puede ver a continuación que solo se muestran 5 caracteres del archivo en el terminal.

Ejemplo 3: Escribir texto en un archivo de texto

En este ejemplo, utilizaremos los métodos Seek (), Write () y Close () para escribir los datos en un archivo de texto. La función get bytes también se usa en este ejemplo para escribir.

En el código dado, primero importamos el Java.IO. RandomAccessFile para usar sus métodos y funciones. Aquí, creamos una transmisión de archivo RandomAccess con el modo "RW" que representa que está en modo de lectura-escritura. La F.Seek (5) El método mueve la posición del puntero del archivo al 5th índice. Entonces, la F.escribir ("datos".getBytes ()) escribe los nuevos bytes de "datos" y reemplaza los bytes existentes si alguno está presente en esta ubicación.

La F.El método Close () cierra la transmisión RandomAccessFile. Se liberan cualquier recurso del sistema utilizado por la transmisión.

Después de completar la compilación, la cadena "datos agregados con éxito" se muestra en el terminal para indicar que el código se ha ejecutado con éxito. El archivo de texto donde escribimos el texto usando el randomaccessfile se muestra de la siguiente manera:

Ejemplo 4: Agregar, agregar texto en un archivo y leer el texto del archivo

En este ejemplo, implementaremos todos los diferentes enfoques que podemos adoptar con el objeto de clase RandomAccessFile y sus múltiples funciones para escribir, agregar y leer los datos de un archivo de texto.

Creamos tres funciones diferentes en una sola clase para escribir, agregar los datos y leer el contenido del archivo de texto. En la función de datos y de escritura de GaPEND y Write, usamos la función Write () utilizando el objeto de la clase RandomAccessFile. En la función de datos Append, agregamos los datos después del último byte del archivo utilizando el archivo.La función de longitud () como parámetro en la función Seek (). En la función de datos de escritura, insertamos los datos al inicio del archivo pasando un valor entero en la función Seek (). Al hacer esto, la función de datos de append es capaz de agregar los datos al final del archivo. En la última función, usamos la función Read () para leer los bytes del archivo. En esta función, pasamos dos parámetros que actúan como el rango del que queremos leer los datos de.

Como podemos ver en el terminal, la salida solo muestra los primeros 5 bytes del archivo, ya que el rango se establece en la función Read (). Ahora, abrimos el archivo de texto y verificamos que los datos se insertan y se adhieran en la posición correcta.

Como podemos ver en el fragmento anterior, los datos en el archivo de texto se insertan correctamente después de ejecutar nuestro programa Java.

Conclusión

Discutimos el uso de la clase RandomAccessfile en Java en este artículo. El objeto de esta clase se usa para llamar a las múltiples funciones que son lucrativas al extraer e insertar los datos en un archivo de texto. Implementamos varios ejemplos de los diferentes métodos de esta clase en el Ubuntu 20.04 entorno. Utilizamos los métodos Write (), Seek () y Read () en estos ejemplos para insertar los datos en un archivo de texto y leer el contenido del archivo de texto después de eso.