2011-08-13 1 views
0

"파쇄"또는 "스 와이프"또는 "더 영구적으로 파일 삭제"할 Java Desktop Application을 만들고 있습니다. 스 와이프를 할 수는 있지만 먼저 삭제 된 파일을 찾아 액세스해야합니다.Windows에서 삭제 된 파일을 나열하는 데 사용할 수있는 도구/유틸리티는 무엇입니까?

삭제 된 파일에 액세스하는 데 사용할 수있는 도구 나 유틸리티가 있습니까? 임시 위치로 복원 한 다음 파쇄 할 수 있습니다. 아니면 Java 또는 명령 줄을 사용하여이 작업을 수행 할 수 있습니까?

+5

시스 인 터널을 이미 [도구]가 (http://technet.microsoft.com/en-us/sysinternals/bb897443)를 참조하십시오. 저수준 함수를 통해 직접 디스크에 액세스하지 않고 성공할 가능성은 매우 낮기 때문에 간단한 사용자 공간 작업 (* Java *는 제외)이 안전한 파일 삭제를 수행 할 수 있을지는 의문입니다. –

+0

그 두 번째. Java는 잘못된 언어입니다. 또한, 당신은 바퀴를 재발 명하고 있습니다. 이미 디스크에서 파일을 안전하게 지울 수있는 앱이 많이 있습니다. –

답변

8

Java 또는 명령 줄을 사용하여 Windows 삭제 프로세스에서 삭제 된 것으로 표시된 파일을 어떻게 나열합니까?

짧은 대답은 당신이 자바로 할 수 없다는 것입니다.

  • 를 디코딩은

    • 액세스 디스크 블록 레벨에서 디스크 :

      더 이상 대답은 당신이 자바에서이 작업을 수행 할 수있는 유일한 방법은 네이티브 코드를 많이 쓸 것이다 이전에 삭제 된 파일의 일부였던 삭제 된 파일 및 고아 블록을 찾기 위해 구조화 된 파일 시스템 데이터 및

    • 관련 블록을 0으로 만듭니다. 블록이 다른 (삭제되지 않은) 파일로 재 할당되지 않았 음을 확인하는

    ... 잠시 ...

    • 실행중인 다른 프로세스를 고려하는 수도 파일을 만들고, 수정하고, 삭제할 수 있습니다. 이 모든 것을 수행

    정말 열심히는 C/C++에서 모든 것을 구현하는 경우, 그리고 당신이 자바에서 그 일을하는 경우를조차 어렵습니다. 그리고 그것을 망치면 PC의 파일 시스템을 지울 수 있습니다.


    더 좋은 아이디어는 일을 몇 가지 기존 도구/유틸리티를 찾아 별도의 프로세스로 실행 Runtime.exec(...) 또는 그에 상당하는 것입니다.

    는 (I 가능한 도구/유틸리티를 제안하고 다른 사람에게 떠날거야. 시스 인 터널의 sdelete 도구가 이미 삭제 된 파일을 처리하는 표시되지 않습니다.)

  • 관련 문제