La clase Java.io.RandomAccessFile proporciona una forma de acceder aleatoriamente a los archivos mediante operaciones de lectura y escritura. Funciona como una array de bytes almacenados en el archivo.
Declaración :
public class RandomAccessFile extends Object implements DataOutput, DataInput, Closeable
Métodos de la clase RandomAccessFile:
- read() : java.io.RandomAccessFile.read() lee bytes de datos del archivo. El byte se devuelve como un número entero en el rango 0-255
Syntax : public int read() Parameters : -------- Return : reads byte of data from file, -1 if end of file is reached.
- read(byte[] b) java.io.RandomAccessFile.read(byte[] b) lee bytes hasta b.length del búfer.
Syntax : public int read(byte[] b) Parameters : b : buffer to be read Return : byte of data from file upto b.length, -1 if end of file is reached.
- read((byte[] b, int offset, int len) : java.io.RandomAccessFile.read((byte[] b, int offset, int len) lee los bytes que se inicializan desde la posición de compensación hasta b.length del búfer.
Syntax : public int read(byte[] b, int offset, int len) Parameters : b : buffer to read offset : starting position to read len : max no of bytes to read Return : reads bytes initialising from offset position upto b.length from the buffer.
- readBoolean() : java.io.RandomAccessFile.readBoolean() lee un valor booleano del archivo.
Syntax : public final boolean readBoolean() Parameters : ------ Return : boolean value
- readByte() : java.io.RandomAccessFile.readByte() lee un valor de ocho bits firmado del archivo, comienza a leer desde el Puntero de archivo.
Syntax : public final byte readByte() Parameters : ------- Return : signed eight-bit value from file
- readChar() : java.io.RandomAccessFile.readChar() lee un carácter del archivo, comienza a leer desde el Puntero de archivo.
Syntax : public final char readChar() Parameters : ------- Return : character from the file.
- readDouble() : java.io.RandomAccessFile.readDouble() lee un valor doble del archivo, comienza a leer desde el Puntero de archivo.
Syntax : public final double readDouble() Parameters : ------ Return : reads a double value from the file.
- readFloat() : java.io.RandomAccessFile.readFloat() lee un valor flotante del archivo, comienza a leer desde el Puntero de archivo.
Syntax : public final double readFloat() Parameters : ------ Return : reads a float value from the file.
- readFully(byte[] b) : java.io.RandomAccessFile.readFully(byte[] b) lee bytes hasta b.length del búfer, comienza a leer desde el puntero de archivo.
Syntax : public final void readFully(byte[] b) Parameters : b : buffer to be read Return : reads bytes initialising from offset position upto b.length from the buffer
- readInt() : java.io.RandomAccessFile.readInt() lee un entero de 4 bytes con signo del archivo, comienza a leer desde el Puntero de archivo.
Syntax : reads a signed 4 bytes integer from the file Parameters : ----- Return : reads a signed 4 bytes integer from the file
- readFully(byte[] b, int offset, int len) : java.io.RandomAccessFile.readFully(byte[] b, int offset, int len) lee los bytes que se inicializan desde la posición de compensación hasta b.length desde el búfer, comienza a leer desde el puntero de archivo.
Syntax : public final void readFully(byte[] b, int offset, int len) Parameters : b : buffer to read offset : starting position to read len : max no of bytes to read Return : bytes initialising from offset position upto b.length from the buffer
- readLong() : java.io.RandomAccessFile.readLong() lee un entero de 64 bits con signo del archivo, comienza a leer desde el Puntero de archivo.
Syntax : public final long readLong() Parameters : ------- Return : signed 64 bit integer from the file
// Java Program illustrating use of io.RandomAccessFile class methods // read(), read(byte[] b), readBoolean(), readByte(), readInt() // readFully(byte[] b, int off, int len), readFully(), readFloat() // readChar(), readDouble(), import java.io.*; public class NewClass { public static void main(String[] args) { try { double d = 1.5 ; float f = 14 .56f; // Creating a new RandomAccessFile - "GEEK" RandomAccessFile geek = new RandomAccessFile( "GEEK.txt" , "rw" ); // Writing to file geek.writeUTF( "Hello Geeks For Geeks" ); // File Pointer at index position - 0 geek.seek( 0 ); // read() method : System.out.println( "Use of read() method : " + geek.read()); geek.seek( 0 ); byte [] b = { 1 , 2 , 3 }; // Use of .read(byte[] b) method : System.out.println( "Use of .read(byte[] b) : " + geek.read(b)); // readBoolean() method : System.out.println( "Use of readBoolean() : " + geek.readBoolean()); // readByte() method : System.out.println( "Use of readByte() : " + geek.readByte()); geek.writeChar( 'c' ); geek.seek( 0 ); // readChar() : System.out.println( "Use of readChar() : " + geek.readChar()); geek.seek( 0 ); geek.writeDouble(d); geek.seek( 0 ); // read double System.out.println( "Use of readDouble() : " + geek.readDouble()); geek.seek( 0 ); geek.writeFloat(f); geek.seek( 0 ); // readFloat() : System.out.println( "Use of readFloat() : " + geek.readFloat()); geek.seek( 0 ); // Create array upto geek.length byte [] arr = new byte [( int ) geek.length()]; // readFully() : geek.readFully(arr); String str1 = new String(arr); System.out.println( "Use of readFully() : " + str1); geek.seek( 0 ); // readFully(byte[] b, int off, int len) : geek.readFully(arr, 0 , 8 ); String str2 = new String(arr); System.out.println( "Use of readFully(byte[] b, int off, int len) : " + str2); } catch (IOException ex) { System.out.println( "Something went Wrong" ); ex.printStackTrace(); } } } |
Producción :
Use of read() method : 0 Use of .read(byte[] b) : 3 Use of readBoolean() : true Use of readByte() : 108 Use of readChar() : c Use of readDouble() : 1.5 Use of readFloat() : 14.56 Use of readFully() : Geeks For Geeks Use of readFully(byte[] b, int off, int len) : Geeks For Geeks
Siguiente: Conjunto 2 , Conjunto 3
Este artículo es una contribución de MohitGupta_OMG 😀 . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA