Directory.GetFiles()에서 파일 액세스 예외 처리
Directory.GetFiles()
방법을 사용하면 지정된 디렉터리 경로의 특정 폴더나 파일에 접근할 수 없어 예외가 발생하고 파일 나열 프로세스가 중단되는 상황이 발생할 수 있습니다. 이 제한을 극복하고 보호되거나 액세스할 수 없는 항목을 무시하면서 액세스 가능한 파일을 계속 나열하려면 수동 재귀 접근 방식이 권장됩니다.
Directory.GetFiles()
메서드는 기본적으로 AllDirectories
매개변수를 사용한 재귀를 지원합니다. 그러나 특정 하위 디렉터리에 대한 액세스가 거부되면 이 방법을 신뢰할 수 없어 프로세스가 갑자기 종료될 수 있습니다. 이 문제를 해결하려면 사용자 정의 재귀 접근 방식이 필요합니다.
제공된 코드 조각은 지정된 디렉터리의 파일을 반복적으로 나열하면서 액세스 예외를 적절하게 처리하는 방법을 보여줍니다. 사용자 정의 재귀 검색을 수행하는 새로운 방법 ApplyAllFiles()
을 소개합니다.
ApplyAllFiles()
에서 코드는 현재 디렉터리의 각 파일을 반복하고 제공된 fileAction
대리자를 호출하여 파일을 처리합니다. 그런 다음 현재 디렉터리의 하위 디렉터리를 나열하고 각 하위 디렉터리에 동일한 ApplyAllFiles()
메서드를 적용하려고 시도합니다.
하위 디렉터리에 액세스하려고 시도하는 동안 예외가 발생하면 코드는 예외를 자동으로 무시하여 프로세스가 중단 없이 액세스 가능한 파일을 계속 나열하도록 합니다.
이 접근 방식을 채택하면 개발자는 액세스할 수 없는 폴더나 파일을 무시하면서 디렉터리의 파일을 효율적으로 나열할 수 있습니다. 특히 서로 다른 하위 디렉터리에 서로 다른 액세스 권한이 있는 경우 더욱 강력한 파일 목록 조작이 가능합니다.
위 내용은 C#에서 액세스 예외를 무시하면서 파일을 재귀적으로 나열하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!