web-dev-qa-db-fra.com

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 va retourner la taille ou la taille sur le disque?

255
JL.

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

278
Marcin Deptuła

Si vous avez déjà un chemin de fichier en entrée, vous avez besoin du code suivant:

long length = new System.IO.FileInfo(path).Length;
328
live-love

FileInfo.Length fera l'affaire (selon MSDN, cela "[g] ets la taille, en octets, du fichier actuel.") Il y a un Nice page sur MSDN sur les tâches d'E/S courantes.

35
jason

MSDN FileInfo.Length indique qu'il s'agit de "la taille du fichier actuel en octets".

Ma recherche Google type ressemble à ceci: msdn FileInfo

10
Austin Salonen

Il retourne la longueur du contenu du fichier

7
Thomas Levesque

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, pas la taille sur le disque.

3
Charlie Salts