Не знаю об Android, но, по крайней мере, в JavaSE, Сканер работает медленно.
Внутренне Scanner выполняет преобразование UTF-8, что бесполезно в файле с плавающей точкой.
Поскольку все, что вам нужно, это читать плавающие файлы из файла, вам следует использовать пакет java.io.
Ребята на SPOJ борются со скоростью ввода / вывода. Это польский сайт соревнований по программированию с очень сложными проблемами. Их отличие состоит в том, что они принимают более широкий набор языков программирования, чем другие сайты, и во многих из их проблем ввод настолько велик, что, если вы не напишите эффективный ввод-вывод, ваша программа нарушит ограничение по времени. *
Проверьте их форумы, например, здесь , для идеи пользовательского парсера.
Конечно, я советую против писать свой собственный анализатор с плавающей точкой, но если вам нужна скорость, это все равно решение.