2009-12-13 4 views

답변

36

디렉토리 그래도 존재하는 경우이 진정으로 당신을 말하지 않는 다음

bool isDir = Directory.Exists(somePath) 

참고하십시오. 디렉토리가 현재 프로세스가 접근 할 수있는 최근 과거 어느 시점에 존재했다는 것을 알려줍니다. 디렉토리에 액세스하려고 할 때 프로세스가 해당 디렉토리에 액세스하지 못하도록 이미 삭제되거나 변경 될 수 있습니다.

간단히 말해 디렉토리가 존재하지 않아 두 번째 줄이 실패 할 가능성이 있습니다.

if (Directory.Exists(somePath)) { 
    var files = Directory.GetFiles(somePath); 
} 

는 최근이 주제에 대한 블로그 항목을 쓴 당신이 결정을

6

경로가있는 경우 Directory.Exists을 사용하여 파일 또는 디렉토리인지 여부를 알 수 있습니다.

bool existsAndIsDirectory = Directory.Exists(path); 

경로가 존재하지 않는 경우

는 다음 중 하나가 될 수 있기 때문에 경로가 파일 또는 디렉터리를 경우 알 수있는 방법이 없습니다.

29

또한 할 수 있도록 Directory.Exists 같은 방법을 사용하는 경우 읽기 가치가있다 :

FileAttributes attr = File.GetAttributes(@"c:\Path\To\Somewhere"); 
if((attr & FileAttributes.Directory) == FileAttributes.Directory) 
{ 
    //it's a directory 
} 
+1

이것은 실제로 답변입니다! – nawfal

7

att ribst File.GetAttributes() (물론, 파일/디렉토리가 존재하는 경우에만). FileAttributes 유형에는 경로가 디렉토리인지 여부를 나타내는 Directory 값이 있습니다.