Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 21011|Yanıt: 0

[Kaynak] C# dosya boyutunu alır

[Bağlantıyı kopyala]
Yayınlandı 24.03.2016 17:14:17 | | |

Tabii ki, System.IO isim alanı tanıtmanız gerekiyor

İlki:

public static long GetDirectoryLength(string dirPath)
{
Belirli bir yolun var olup olmadığını belirleyin ve yoksa çıkış yapın
if (! Directory.Exists(dirPath))
dönüş 0;
uzun lenim = 0;

//定义一个DirectoryInfo对象
DirectoryInfo di = new DirectoryInfo(dirPath);

Di dizinindeki tüm dosyaların boyutunu almak için GetFiles yöntemini kullanın
foreach (FileInfo fi in di.GetFiles())
{
len += fi. Uzunluk;
}

DI'deki tüm klasörleri alın ve onları özyineleme için yeni bir nesne dizisine kaydedin
DirectoryInfo[] dis = di.GetDirectories();
if (dis. Uzunluk > 0)
{
için (int i = 0; Bunu <. Uzunluk; i++)
{
len += GetDirectoryLength(dis. FullName);
}
}
return len;
}

İkinci

Ayrıca özyineleme fikrini kullanır, ancak Dosya sınıfının Exits yöntemiyle değerlendirilir

//所给路径中所对应的是否为文件

public static long FileSize(string filePath)
{
uzun sıcaklık = 0;

//判断当前路径所指向的是否为文件
if (File.Exists(filePath) == yanlış)
{
string[] str1 = Directory.GetFileSystemEntries(filePath);
foreach (str1'de s1 dizi)
{
temp += FileSize(s1);
}
}
else
{

FileInfo nesnesini filePath tarafından işaret edilen dosya yönüyle ilişkilendirmek için tanımlayın,

//以获取其大小
FileInfo fileInfo = yeni FileInfo(filePath);
return fileInfo.Length;
}
dönüş sıcaklığı;
}

Aslında, bir klasörü silme fikri de aynıdır, ayar çok daha basit, sadece dosya mı yoksa klasör mü olduğunu değerlendirin, dosyaysanız silin. Eğer klasörse, özyinelemelidir




Önceki:C# get, post içindeki HTTP isteği bir yeniden deneme parametresi ile birlikte gelir
Önümüzdeki:Winform ve WPF seçim klasörü diyalogları arasındaki benzerlikler ve farklılıklar
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com