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

  • Machinima

    Machinima

    17 Ocak 2006
  • Showtime

    Showtime

    21 HAZİRAN 2006
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008

İLGİLİ SORU / CEVAPLAR