Если в образовательных целях, то для начала продумайте свой формат фала. Например, в начале файла идет заголовок файла: к-во полей, потом перечисление полей, имя поля, тип, размер и т.д. и т.п. После заголовка идут сами данные.
Для работы со структурированными файлами в джаве есть два класса стрима
DataInputStream/
DataOutputStream
В них представлены методы для чтения/записи всех примитивных типов джавы.
Когда-то делал утилиту для заливки/скачивания даных с/в SQL сервер с/в dbf-файл. Так вот, библиотека (не вспомню) для работы с dbf использовала DataInputStream/DataOutputStream. Пару гигабайтный файл "залитал" на сервер за секунды, так само за секунды записывалось в dbf файл.