Comment obtenez-vous la taille du fichier en C #?

J’ai besoin d’un moyen d’obtenir la taille d’un fichier en utilisant C #, et non la taille sur le disque. Comment est-ce possible?

Actuellement j’ai cette boucle

foreach (FileInfo file in downloadedMessageInfo.GetFiles()) { //file.Length (will this work) } 

Est-ce que cela renverra la taille ou la taille sur le disque?

FileInfo.Length renverra la longueur du fichier, en octets (pas la taille sur le disque), donc c’est ce que vous recherchez, je pense.

Si vous avez déjà un chemin de fichier en entrée, c’est le code dont vous avez besoin:

 long length = new System.IO.FileInfo(path).Length; 

FileInfo.Length fera l’affaire (selon MSDN, il “[g] définit la taille, en octets, du fichier en cours.”) Il existe une belle page sur MSDN pour les tâches d’E / S courantes.

MSDN FileInfo.Length dit qu’il s’agit de “la taille du fichier actuel en octets”.

Ma recherche Google typique pour quelque chose comme ceci est: msdn FileInfo

Il retourne la longueur du contenu du fichier

La taille sur le disque peut être différente si vous déplacez le fichier vers un autre système de fichiers (FAT16, NTFS, EXT3, etc.)

Comme d’autres intervenants l’ont dit, cela vous donnera la taille en octets et non la taille du disque.

File.ReadAllBytes(@"D:\\testPA.txt").Length la taille du fichier avec File.ReadAllBytes(@"D:\\testPA.txt").Length