РЕДАКТИРОВАТЬ: см. Ответы Леппи и Гейба;единственная причина, по которой я сохраняю это (а не удаляю), заключается в том, что это может быть необходимо, если вы подозреваете, что длина> 4 ГБ
Для gzip эти данные, по-видимому, не доступны напрямую.- Я смотрел на GZipStream
и SharpZipLib эквивалент - ни один не работает.Лучшее, что я могу предложить, это запустить его локально:
long length = 0;
using(var fs = File.OpenRead(path))
using (var gzip = new GZipStream(fs, CompressionMode.Decompress)) {
var buffer = new byte[10240];
int count;
while ((count = gzip.Read(buffer, 0, buffer.Length)) > 0) {
length += count;
}
}
Если это был почтовый индекс, то SharpZipLib:
long size = 0;
using(var zip = new ZipFile(path)) {
foreach (ZipEntry entry in zip) {
size += entry.Size;
}
}