Bir dosyanın C # / .NET'te olup olmadığını nasıl öğrenebilirim?


186

Bu dosyanın ( -ePerl veya os.path.exists()Python test gibi bir şey) varlığı için bir dosya yolu içeren bir dize sınamak istiyorum .

Yanıtlar:


303

kullanın:

File.Exists(path)

MSDN: http://msdn.microsoft.com/tr-tr/library/system.io.file.exists.aspx

Düzenle: System.IO'da


14
File.Exists (path), dosya mevcut olsa bile false değerini döndürür. Bu tür durumları ele almanın ve arayan dosyayı okuyamasa bile bir dosyanın var olup olmadığını kontrol etmenin farklı bir yolu var mı?
ADTC

3
@ADTC: güvenlik açısından, bu şekilde çalışması normal gibi görünüyor, geliştirici bakış açısından, işleri daha karmaşık hale getirebilir. Bir dosya oluşturmaya çalışırsanız bu durumda bir istisna alıyor musunuz?
user276648 4:13

2
@ADTC tökezledi ve açılan kutu dizinlerinden bahsetebileceğimi düşündü. Bunlar, oluşturma veya yazma iznine sahip olduğunuz, ancak okuma izninizin olmadığı yerlerde kurulabilir. Bu soru ile doğrudan ilgili olduğu için değil, düşündükleri kadar tuhaf değiller.
Ukko

1
Yan not: Path.Exists, yolun kasası aslında G: ile tam olarak eşleşmiyorsa, Google Drive Dosya Akışı G: sürücüsünde False değerini döndürür. Genellikle herhangi bir fiziksel sürücü kasasında önemli değil, bu yüzden merak ediyorum, Exists yöntemiyle yanlış olan bir şey var mı?
CTZStef

1
@CTZStef, çerçeve yönteminden ziyade google'ın sanal sürücüsünün tuhaflığıdır.
Eugene Mayevski 'Geri Arama



4

Giriş olarak tam yol verin. Göreli yollardan kaçının.

 return File.Exists(FinalPath);
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.