我使用hadoop来存储文件。我想知道实际的文件大小。
getFileSystem().getContentSummary(new Path(fileName)).getLength();
返回压缩文件大小。我正在使用默认的hadoop编解码器压缩。
如何计算实际文件大小?
答案 0 :(得分:1)
除非压缩编解码器支持在压缩文件的页眉/页脚中存储未压缩的大小,否则无法计算出未压缩的大小(除了执行流解压缩和通过dd之类的运行或计算java中的字节之外) )。
GZip例如 - 文件的最后4个字节是未压缩的大小(以字节为单位)(假设它不超过4个字节可以表示)