"numeric" is not defined exactly, so I tried to narrow the specification in my documentation:
The primitive type "int" in java is defined as a 4 byte signed integer. The "readInt()" declared by the DataInputStream interface and defined by RandomAccessFile should read the next four bytes from your file and put them in an int to return to you. So, yes, raf.readInt() should always work.
If you wanted to construct an int from 4 bytes you'll have to use some shifts and masks. Make sure you conform to one byte order, "big-endian".
Does this help?
Blaise