Eu preciso de uma maneira de obter o tamanho de um arquivo usando c #, e não o tamanho do disco. Como isso é possível?
Atualmente eu tenho esse loop
foreach (FileInfo file in downloadedMessageInfo.GetFiles())
{
//file.Length (will this work)
}
Isso retornará o tamanho ou o tamanho do disco?
Respostas:
FileInfo.Length
retornará o tamanho do arquivo, em bytes (não no tamanho do disco), então é isso que você está procurando, eu acho.fonte
Se você já possui um caminho de arquivo como entrada, este é o código que você precisa:
fonte
FileInfo.Length
fará o truque (por MSDN, "[g] define o tamanho, em bytes, do arquivo atual".) Há uma boa página no MSDN em tarefas comuns de E / S.fonte
MSDN FileInfo.Length diz que é "o tamanho do arquivo atual em bytes".
Minha pesquisa típica no Google por algo assim é: msdn FileInfo
fonte
Retorna o comprimento do conteúdo do arquivo
fonte
O tamanho do disco pode ser diferente se você mover o arquivo para outro sistema de arquivos (FAT16, NTFS, EXT3, etc)
Como outros respondentes disseram, isso fornecerá o tamanho em bytes, não o tamanho do disco.
fonte
A propriedade FileInfo da classe 'Length retorna o tamanho do arquivo (não o tamanho do disco). Se você deseja um tamanho de arquivo formatado (ou seja, 15 KB) em vez de um valor de bytes longos, pode usar o CSharpLib , um pacote que criei que adiciona mais funcionalidade à classe FileInfo. Aqui está um exemplo:
fonte