SORU
8 EYLÜL 2009, Salı


Eğer Yol bir Dosya olup olmadığını kontrol etmek için iyi bir yol ya da bir Dizin?

Dizinleri ve dosyaları bir ağaç görünümü işliyorum, kullanıcıları da bir dosya ya da dizin seçin ve onunla bir şeyler yapın. Bu bana bir dosya veya dizin seçili ise farklı eylemleri gerçekleştiren bir yöntem gerektirir.

Şu anda bu yol, bir dosya veya dizin olup olmadığını belirlemek için böyle bir şey yapıyorum:

bool bIsFile = false;
bool bIsDirectory = false;

try
{
    string[] subfolders = Directory.GetDirectories(strFilePath);

    bIsDirectory = true;
    bIsFile = false;
}
catch(System.IO.IOException)
{
    bIsFolder = false;
    bIsFile = true;
}

Bu işi yapmanın daha iyi bir yolu olduğunu hissediyorum yardım! Ama hiç bulmak .Sorabilir miyim hangi yöntemleri Net "bu yol bir dizin veya dosya mı ?".

Herhangi bir öneriniz var mı ?

Teşekkürler!

CEVAP
8 EYLÜL 2009, Salı


How to tell if path is file or directory:

// get the file attributes for file or directory
FileAttributes attr = File.GetAttributes(@"c:\Temp");

//detect whether its a directory or file
if ((attr & FileAttributes.Directory) == FileAttributes.Directory)
    MessageBox.Show("Its a directory");
else
    MessageBox.Show("Its a file");

Güncelleme için .NET 4.0

Eğer varsa aşağıdaki yorum başına .NET 4.0 veya daha yeni (ve maksimum performans önemli değil) temiz bir şekilde: kod yazabilirsiniz

if (attr.HasFlag(FileAttributes.Directory))
    MessageBox.Show("Its a directory");
else
    MessageBox.Show("Its a file");

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ImBluecams

    ImBluecams

    25 Kasım 2012
  • MatheusDosGames

    MatheusDosGa

    28 Aralık 2011
  • nemoking of kinges

    nemoking of

    4 EYLÜL 2009