Hola que tal
Pues para empezar habria que verificar bien la seguridad que maneja java, porque por lo que yo se, java tiene restringido el acceso a varias cosas.
Para la recuperacion de archivos perdidos tienes que hacer un programa que te maneje la estructura del sistema de archivos, y para esto debes manejar algunas instrucciones sobre el disco duro, que creo java no te permitira esos accesos.
Pero pues bueno, si llegas a hacer tal programa pues me avisas y me dices como, pero si deseas hacer un programa de ese tipo te recomiendo que lo hagas en C.
Bueno, hasta luego