Как мне разобрать заголовок файла gzip из потока gzip в C #? - PullRequest
1 голос
/ 07 августа 2010

Я вынужден использовать старую версию SharpZipLib и стандартные библиотеки Microsoft для этого. У меня есть gziped файл, имя которого отличается от имени файла в архиве. Мне нужно разобрать заголовок файла gzip, чтобы вернуть исходное имя файла. Вот документация на сайте gzip:

http://www.gzip.org/zlib/rfc-gzip.html#conventions

И пример Java, который выглядит так, как будто он делает то, что я хочу. похоже, он проверяет заголовок файла, но фактически не читает имя файла.

(Извините, не удалось опубликовать более 1 гиперссылки) (http://www).java2s.com/Open-Source/Java-Document/6.0-JDK-Modules/j2me/java/util/zip/GZIPInputStream.java.htm

Любая помощь по этой проблеме будет высоко ценится. Спасибо!

1 Ответ

0 голосов
/ 07 августа 2010

Ну, если, наконец, понял это.Это не самый безопасный или лучший способ, но мне нужен был быстрый и грязный способ сделать это, и это работает.Так что, если кому-то еще нужно это знать или вы хотите улучшить его, начните.

using (FileStream stream = File.OpenRead(filePath))
{
    int size = 2048;
    byte[] data = new byte[2048];
    size = stream.Read(data,0,size);

    if (data[3] == 8)
    {
        List<byte> byteList = new List<byte>();

        int i = 10;
        while (data[i] != 0)
        {
            byteList.Add(data[i]);
            i++;
        }
        string test = System.Text.ASCIIEncoding.ASCII.GetString(byteList.ToArray());
        Console.WriteLine(test);

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...