루트 디렉터리를 삭제하지 않고 C#에서 파일 및 폴더 삭제
C#에서는 루트 디렉터리를 유지하면서 디렉터리의 모든 파일과 폴더를 삭제할 수 있습니다. 이 기술은 디렉터리 구조를 잃지 않고 디렉터리 내용을 정리해야 할 때 유용합니다.
한 가지 방법은 DirectoryInfo
클래스를 사용하는 것입니다:
<code class="language-csharp">System.IO.DirectoryInfo di = new DirectoryInfo("YourPath"); foreach (FileInfo file in di.GetFiles()) { file.Delete(); } foreach (DirectoryInfo dir in di.GetDirectories()) { dir.Delete(true); }</code>
이 코드는 먼저 지정된 경로에 대한 DirectoryInfo
개체를 생성합니다. 그런 다음 GetFiles()
을 사용하여 디렉터리의 파일을 반복하고 각 파일을 삭제합니다. 그런 다음 GetDirectories()
을 사용하여 디렉터리를 반복하고 재귀적으로 삭제(true
매개변수)하여 모든 내용이 삭제되도록 합니다.
많은 수의 파일이 포함된 디렉토리의 경우 효율성을 높이기 위해 EnumerateFiles()
및 EnumerateDirectories()
메서드를 사용할 수 있습니다.
<code class="language-csharp">foreach (FileInfo file in di.EnumerateFiles()) { file.Delete(); } foreach (DirectoryInfo dir in di.EnumerateDirectories()) { dir.Delete(true); }</code>
EnumerateFiles()
및 EnumerateDirectories()
은 부분 열거를 허용하므로 전체 컬렉션을 메모리에 로드하는 것을 방지하여 대규모 디렉토리에 대해 더 효율적입니다.
두 가지 방법 모두 루트 디렉터리를 유지하면서 지정된 디렉터리의 모든 파일과 폴더를 삭제하는 목표를 달성할 수 있습니다.
위 내용은 루트 디렉터리를 유지하면서 C#에서 파일과 폴더를 어떻게 삭제할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!