Как получить размер файла в С#?

Мне нужен способ получить размер файла с помощью С#, а не размер на диске. Как это возможно?

В настоящее время у меня этот цикл

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

Будет ли это возвращать размер или размер на диске?

Ответ 1

FileInfo.Length вернет длину файла в байтах (не размер на диске), так что это то, что вы ищете, я думаю.

Ответ 2

Если у вас уже есть путь к файлу в качестве ввода, это код, который вам нужен:

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

Ответ 3

FileInfo.Length выполнит трюк (для MSDN it) [g] задает размер в байтах текущего файла. ") Существует хорошая страница в MSDN по общим задачам ввода-вывода.

Ответ 4

MSDN FileInfo.Length говорит, что это "размер текущего файла в байтах".

Мой обычный поиск Google для чего-то вроде этого: msdn FileInfo

Ответ 5

Он возвращает длину содержимого файла

Ответ 6

Размер на диске может быть другим, если вы переместите файл в другую файловую систему (FAT16, NTFS, EXT3 и т.д.)

Как сказали другие ответчики, это даст вам размер в байтах, а не размер на диске.

Ответ 7

Я получаю размер файла с File.ReadAllBytes(@"D:\\testPA.txt").Length