한다고 가정을 아끼지 :
> UndeletableFile
> File4파일 삭제 - 나는 다음과 같은 I 디렉토리 구조를 가지고 무고한
MyDirectory
을 File1
>을 File2
> 파일은 File3을또한 폴더의 내용을 삭제하고 폴더 자체를 삭제하기위한 재귀 알고리즘을 구현했으며/또는 우수 제안 중 하나를 사용했다고 가정합니다. here
이제 웹에서 검색 할 때 해결책을 찾지 못하는 캐치가 있습니다.
전체 폴더를 삭제하고 싶지만 성공하려면 해야합니다. 모든 파일 및 하위 폴더에 있습니다. 현재 구현 (정확히는java.io.File.delete()
)은 파일이 호출되면 즉시 삭제하고 다음 파일로 이동합니다. 위의 예와 같이 폴더 삭제가 중간에 실패하면UndeletableFile
및File5
과MyDirectory
이 시스템에 남습니다.이 경우에는 convenince 메서드 또는 모범 사례 알고리즘이 있습니까?
목표는 입니다. 작업이 일 경우이 중도에 실패하면 삭제할 수있는 파일을으로 보냅니다. 결국 집이 살아남을 수 있다면 그들은 죽지 않아야 할 것입니다. 내가 지금까지에 대한 생각은 무엇:이
어쩌면 너무MyDirectory
> File1temp
> File2temp
>처럼, 그들을 삭제하는 첫 번째 대신 모든 파일 이름을 바꿀 스마트 될 것입니다 ..그 후에 프로세스가 실패하면 다시 모든 파일을 정상적으로 이름을 바꿀 수 있으며 성공하면 정상적으로 삭제할 수 있습니다.
하지만이 솔기가 나에게 매우 비효율적인데, 더 좋은 해결책이 아닌가요? 일반적인 문제 여야하는 것처럼 보입니다. 간과했으면 링크를 제공하십시오.
누가 응용 프로그램 외에이 파일을 사용합니까? 누가 그들을 생산합니까? 다른 과정? 그것은 귀하 또는 타사 소프트웨어에 의해 관리됩니까? – Mikhail
@Mikhail 사용자가 직접 폴더에 영향을 줄 수 있습니다. 그들은 다른 응용 프로그램에 의해 생성됩니다. 그 당시 다른 프로세스가 실행 중이 아닙니다. 내가 관리해. **하지만 스트레스를 받고 싶습니다. ** 지금은 실패하면 괜찮습니다. 그런 다음 무언가가 발생하면 "아무것도 지우지 마십시오"로 돌아갈 수 있기를 원합니다. – avalancha