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

  • campos9896

    campos9896

    24 Mart 2012
  • Marques Brownlee

    Marques Brow

    21 Mart 2008
  • mliskIT

    mliskIT

    29 Mart 2012