Czy ścieżka jest folderem?

0

Jak sprawdzić w C# czy dana ścieżka przechowywana w stringu jest folderem?

0
string sciezka = @"C:\Temp";

Directory.Exists(sciezka);

??

0

Problemem Directory.Exists() jest to, że zwraca false w przypadku jakiegokolwiek błędu, np. możesz podać prawidlową ścieżkę do katalogu, ale jeśli nie masz uprawnień do jego odczytania, to metoda zwróci false.
http://msdn.microsoft.com/en-us/library/system.io.directory.exists.aspx

Można to zrobić też tak jak tu:
http://msdn.microsoft.com/en-us/library/system.io.file.getattributes.aspx

FileAttributes att = File.GetAttributes(@ŚCIEŻKA);
if(att & FileAttributes.Directory == FileAttributes.Directory)
{
  // to jest katalog
}

lub po prostu

if(File.GetAttributes(@ŚCIEŻKA) & FileAttributes.Directory == FileAttributes.Directory)
{
 //to jest katalog
}

i całość objąć try/catch i w catch'ach przechwytywać wyjątki, żeby stwierdzić potencjalne przyczyny wyjątków wymienionych w drugim linku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1