0
나는 현재 안전한 삭제 알고리즘 및 물건을 가진 파일 삭제 도구를 다시 작성하고 있습니다. Wenn 디렉토리를 반복적으로 탐색하고 거기에있는 모든 파일과 모든 하위 디렉토리 등을 삭제하려고합니다. 디버거가 stackoverflow 예외를 throw합니다.C# Stackoverflow 재귀 디렉터리 삭제 작업
private void wipeFile(string file)
{
bool ret = false;
switch (m_algo)
{
case Algorithms.fastAlgo:
ret = FastWipe.WipeFile(file);
break;
case Algorithms.safeAlgo:
ret = CleanWipe.WipeFile(file, m_timesToWrite);
break;
}
handleFileWiped(file, DateTime.Now, ret);
}
/// <summary>
/// Wipes a directory recursively
/// </summary>
/// <param name="directory">Given subdir</param>
private void deepWipe(string directory)
{
foreach (string file in Directory.GetFiles(directory))
{
wipeFile(file);
}
foreach (string subdir in Directory.GetDirectories(directory))
{
deepWipe(directory);
}
try
{
Directory.Delete(directory);
handleDirectoryWiped(directory, DateTime.Now, true);
}
catch { handleDirectoryWiped(directory, DateTime.Now, false); }
}
+1 - 당신이 다시 날 잡았어! – womp
@ n0pt3x : 환영합니다! StackOverflow에 오신 것을 환영합니다;) –