Как я могу предотвратить восстановление удаленных файлов?

Если удаленные файлы, рассмотрите следующий код.
Может, кто-нибудь может восстановить эти удаленные файлы?
Если да, как я могу предотвратить эту операцию?
Заранее спасибо!

File file = new File(input.nextLine());
for (File f : file.listFiles()) { 
    f.delete();
}

или же

FileUtils.cleanDirectory(file);

1 ответ

Приведенный выше код удалит файлы, но его можно будет восстановить из-за работы файловой системы.

Концепция: Когда файл запрашивается для удаления, ОС не удаляет содержимое всего файла по причинам производительности. ОС выполняет следующие задачи:

  • удаляет указатель файла (хранится в MFT)
  • ОС объявляет зарезервированное пространство как свободное от этого определенного файла / папки

Как предполагает @ernest_k, единственный способ удалить данные - это уничтожить данные, кроме физического уничтожения.

Если вы пишете программу для этой задачи, то ваша программа должна:

  1. Открыть файл
  2. Читать это содержание
  3. Генерировать случайные данные
  4. Замените его оригинальным контентом
  5. В конце вы можете удалить файл

Для нескольких проходов вы можете повторить вышеуказанные шаги. Я точно не помню, но разные стандарты рекомендуются в разных стандартах, таких как 1 проход, 3 прохода, 6 проходов.

Надеюсь, поможет!:)

Другие вопросы по тегам