Как я могу предотвратить восстановление удаленных файлов?
Если удаленные файлы, рассмотрите следующий код.
Может, кто-нибудь может восстановить эти удаленные файлы?
Если да, как я могу предотвратить эту операцию?
Заранее спасибо!
File file = new File(input.nextLine());
for (File f : file.listFiles()) {
f.delete();
}
или же
FileUtils.cleanDirectory(file);
1 ответ
Приведенный выше код удалит файлы, но его можно будет восстановить из-за работы файловой системы.
Концепция: Когда файл запрашивается для удаления, ОС не удаляет содержимое всего файла по причинам производительности. ОС выполняет следующие задачи:
- удаляет указатель файла (хранится в MFT)
- ОС объявляет зарезервированное пространство как свободное от этого определенного файла / папки
Как предполагает @ernest_k, единственный способ удалить данные - это уничтожить данные, кроме физического уничтожения.
Если вы пишете программу для этой задачи, то ваша программа должна:
- Открыть файл
- Читать это содержание
- Генерировать случайные данные
- Замените его оригинальным контентом
- В конце вы можете удалить файл
Для нескольких проходов вы можете повторить вышеуказанные шаги. Я точно не помню, но разные стандарты рекомендуются в разных стандартах, таких как 1 проход, 3 прохода, 6 проходов.
Надеюсь, поможет!:)