Используйте DataOutputStream и DataInputStream. Использование этого класса облегчает чтение целых, плавающих, двойных данных и других данных без необходимости интерпретировать, должны ли считанные данные быть целыми числами или данными с плавающей точкой.
что-то лайк дис
DataOutputStream dos = new DataOutputStream (fos);
//
// Below we write some data to the cities.dat.
// DataOutputStream class have various method that allow
// us to write primitive type data and string. There are
// method called writeInt(), writeFloat(), writeUTF(),
// etc.
//
dos.writeInt(cityIdA);
dos.writeUTF(cityNameA);
dos.writeInt(cityPopulationA);
dos.writeFloat(cityTempA);
dos.writeInt(cityIdB);
dos.writeUTF(cityNameB);
dos.writeInt(cityPopulationB);
dos.writeFloat(cityTempB);
dos.flush();
dos.close();