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

  • Caramthros

    Caramthros

    10 AĞUSTOS 2007
  • cosmicrocketman

    cosmicrocket

    17 NİSAN 2006
  • HuskyStarcraft

    HuskyStarcra

    4 HAZİRAN 2009