Снимок - это в основном рекурсивная копия всех каталогов, и это кажется неизбежным. Что касается восстановления, просто удалите каталог и переименуйте временный каталог с исходным именем.
Если это для функционального тестирования, как насчет наличия хорошо известного каталога и его копирования в начале теста? Таким образом, снимок не делается. Конечно, это работает, только если вы всегда начинаете с известного набора файлов.
Что касается фактической рекурсивной копии, то в Apache есть метод для этого в Commons-IO, а также метод для рекурсивного удаления .