" fs.sys.Size " (fs sendo fileStat no pacote os ) retorna o tamanho aparente de um arquivo. Isso não é ideal ao lidar com arquivos esparsos.
Existe uma maneira de obter o tamanho real do arquivo em GO? Ou todos os aplicativos são obrigados a obter os metadados convertidos que representam blocos vazios como blocos reais?
Parece que a estrutura Stat_t preenchida usando chamadas stat / fstat do pacote Syscall é tudo que você precisa. Basta multiplicar os blocos por 512 para obter o espaço em disco consumido.
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras