2011-12-16 17 views

cevap

5

Gelecekte bu soruyu bulacak olanlar için: Kütüphaneyi yazmaya başladım. Önemli miktarda farklı türde olduktan sonra, onu NuGet'e göndereceğim. Ama şu anda kaynak kodu burada bulabilirsiniz:

FileInfo file = new FileInfo("C:\Hello.pdf"); 
if (file.isPdf()) 
    Console.WriteLine("File is PDF"); 

vb

Güncelleme: http://filetypedetective.codeplex.com/

kütüphane fikri FileInfo nesneler üzerinde isPdf() veya isZip() arama yapabilmek için : Sonunda nuget paketi oluşturmak için nihayet var:

Install-Pac kage FileTypeDetective

+0

hm, kodlama stilini geliştirmek için StyleCop'u veya benzeri uygulamayı çalıştırmayı deneyebilirsiniz. Örneğin "yakalama (istisna)" en iyi uygulama değildir, ayrıca 8 yıl boyunca kullanılabilen xml tabanlı ofis formatları da tanınmamaktadır. FileInfo uzantısı, dosya gerçekten açıldığından, doğrudan uygun değildir. – user287107

+1

@ user287107 Bu proje uzun süredir terkedilmiş ve kimse onu kullanmıyor. – trailmax

1

Çoğu dosya biçimi için, dosya türünü belirlemek üzere dosyanın başında magic numbers kodunu okuyabilirsiniz. Bu, * nix tabanlı sistemlerin dosya uzantısından bağımsız olarak dosya türünü nasıl tanımladıklarıdır.

+2

tartışılan FindMimeFromData işlevini kullanır mevcuttur Arıyorum ve çözümlerimi nasıl uygularım. Bu zaten başka biri tarafından yapılmış mı merak ediyorum. Yayımlamadan önce – trailmax

İlgili konular