Мне нужен способ получить размер файла с помощью C #, а не размер на диске. Как это возможно?
В настоящее время у меня есть этот цикл
foreach (FileInfo file in downloadedMessageInfo.GetFiles())
{
//file.Length (will this work)
}
Вернет ли это размер или размер на диске?
Ответы:
FileInfo.Length
вернет длину файла в байтах (не размер на диске), так что это то, что вы ищете, я думаю.источник
Если вы уже указали путь к файлу, это код, который вам нужен:
источник
FileInfo.Length
сделает свое дело (для MSDN это "[g] определяет размер в байтах текущего файла.") На MSDN есть хорошая страница, посвященная распространенным задачам ввода / вывода.источник
MSDN FileInfo.Length говорит, что это «размер текущего файла в байтах».
Мой типичный поиск Google для чего-то вроде этого: msdn FileInfo
источник
Возвращает длину содержимого файла
источник
Размер на диске может быть другим, если вы переместите файл в другую файловую систему (FAT16, NTFS, EXT3 и т. Д.)
Как сказали другие авторы, это даст вам размер в байтах, а не размер на диске.
источник
Свойство Length класса FileInfo возвращает размер файла (а не размер на диске). Если вы хотите отформатированный размер файла (т.е. 15 КБ), а не длинное байтовое значение, вы можете использовать CSharpLib , пакет, который я создал, который добавляет больше функциональности к классу FileInfo. Вот пример:
источник