Да, исходя из размера файла.Если вы знаете общий размер и количество обработанных байтов, вы можете оценить оставшееся время.То есть, если эта обработка является неким линейным процессом.
Если это не так, а некоторые части файла считываются и обрабатываются гораздо дольше, трудно дать хорошую оценку.В этом случае лучше показать курсор ожидания или (если это займет много времени) позволить пользователю сыграть в небольшую игру, чтобы убить время.:)
Как вы сказали, никогда не стоит запускать процесс один раз, просто иметь возможность запустить его снова, показывая индикатор выполнения.Но ты не был бы первым ...