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



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



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



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


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

669   7  

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 и т. д.)

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

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

Comments

    Ничего не найдено.