Método de clase Java.io.RandomAccessFile | Serie 1

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:

  1. 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.
    
  2. 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.
    
  3. 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.
    
  4. readBoolean() : java.io.RandomAccessFile.readBoolean() lee un valor booleano del archivo.
    Syntax :
    public final boolean readBoolean()
    Parameters : 
    ------
    Return  :
    boolean value
    
  5. 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
    
  6. 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.
    
  7. 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.
    
  8. 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.
    
  9. 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
    
  10. 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
    
  11. 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
    
  12. 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
    
  13. // 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *