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

  • BeginnersTech

    BeginnersTec

    8 NİSAN 2011
  • Eddie Bravo

    Eddie Bravo

    17 EKİM 2006
  • edwin maldonado

    edwin maldon

    28 Mart 2009