Как получить размер файла в C#?
Мне нужен способ, чтобы получить размер файла с помощью C#, а не размер на диске. Как такое возможно?
В настоящее время у меня есть этот цикл
foreach (FileInfo file in downloadedMessageInfo.GetFiles())
{
//file.Length (will this work)
}
будет ли это возвращать размер или размер на диске?
7 ответов:
FileInfo.Lengthвозвращает длину файла в байтах (не размер на диске), так это то, что вы ищете, я думаю.
Если у вас уже есть путь к файлу в качестве входных данных, этот код вам нужно:
long length = new System.IO.FileInfo(path).Length;
FileInfo.Lengthбудет делать трюк (на MSDN это "[g]ets размер, в байтах, текущего файла.") Есть хороший страница на MSDN для общих задач ввода-вывода.
MSDN FileInfo.Длина говорит, что это "размер текущего файла в байтах."
мой типичный поиск Google для чего-то вроде этого: msdn FileInfo
размер на диске может отличаться, если вы переместите файл в другую файловую систему (FAT16, NTFS, EXT3 и т. д.)
Как сказали другие ответчики, это даст вам размер в байтах, а не размер на диске.
Comments