
- Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package Useful Resources
- Java.io - Discussion
Java - RandomAccessFile readFloat() method
Description
The Java RandomAccessFile readFloat() method reads a float from this file. This method reads an int value, starting at the current file pointer, as if by the readInt method and then converts that int to a float using the intBitsToFloat method in class Float.
Declaration
Following is the declaration for java.io.RandomAccessFile.readFloat() method.
public final float readFloat()
Parameters
NA
Return Value
This method returns the next four bytes of this file, interpreted as a float.
Exception
IOException − If an I/O error occurs.Not thrown if end-of-file has been reached.
EOFException − If this file reaches the end before reading four bytes.
Example - Usage of RandomAccessFile readFloat() method
The following example shows the usage of RandomAccessFile readFloat() method.
RandomAccessFileDemo.java
package com.tutorialspoint; import java.io.RandomAccessFile; import java.io.IOException; public class RandomAccessFileDemo { public static void main(String[] args) { try { float f = 1234.56f; // create a new RandomAccessFile with filename test RandomAccessFile raf = new RandomAccessFile("test.txt", "rw"); // write something in the file raf.writeFloat(986.543f); // set the file pointer at 0 position raf.seek(0); // read float System.out.println(raf.readFloat()); // set the file pointer at 0 position raf.seek(0); // write a float raf.writeFloat(f); // set the file pointer at 0 position raf.seek(0); // read float System.out.println(raf.readFloat()); } catch (IOException ex) { ex.printStackTrace(); } } }
Output
Assuming we have a text file test.txt in current directory which has the following content. This file will be used as an input for our example program −
ABCDE
Let us compile and run the above program, this will produce the following result −
986.543 1234.56
Example - Writing and Reading Float Values
The following example shows the usage of RandomAccessFile readFloat() method.
RandomAccessFileDemo.java
package com.tutorialspoint; import java.io.RandomAccessFile; import java.io.IOException; public class RandomAccessFileDemo { public static void main(String[] args) { try { RandomAccessFile raf = new RandomAccessFile("floats.dat", "rw"); // Write float values (each takes 4 bytes) raf.writeFloat(1.23f); raf.writeFloat(4.56f); // Reset file pointer to the beginning raf.seek(0); // Read the float values float f1 = raf.readFloat(); float f2 = raf.readFloat(); System.out.println("First float: " + f1); // 1.23 System.out.println("Second float: " + f2); // 4.56 raf.close(); } catch (IOException e) { e.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result−
First float: 1.23 Second float: 4.56
Explanation
writeFloat(float f) writes 4 bytes per float.
readFloat() reads 4 bytes and returns the float value.
You must read in the same order and format you wrote the data.
Ideal for handling compact binary files with float values.
Example - Jumping to a Specific Float
The following example shows the usage of RandomAccessFile readFloat() method.
RandomAccessFileDemo.java
package com.tutorialspoint; import java.io.RandomAccessFile; import java.io.IOException; public class RandomAccessFileDemo { public static void main(String[] args) { try { RandomAccessFile raf = new RandomAccessFile("floats2.dat", "rw"); // Write 3 float values raf.writeFloat(10.5f); // Position 0 raf.writeFloat(20.75f); // Position 4 raf.writeFloat(30.25f); // Position 8 // Jump to the second float (4 bytes per float) raf.seek(4); float second = raf.readFloat(); System.out.println("Second float: " + second); // 20.75 raf.close(); } catch (IOException e) { e.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result−
Second float: 20.75
Explanation
Each float takes 4 bytes, so −
First float is at byte 0
Second float at byte 4
Third float at byte 8
seek(4) skips the first float and points to the second one.
readFloat() retrieves that specific value.