0

複数の圧縮された .gz ファイルを含む .tar ファイルがあります。宛先ディレクトリに各 .gz ファイルを作成する .tar ファイルを繰り返し処理しても問題はありません。.gz をまとめて書き込むのをスキップして、TarEntry/TarArchive から解凍するだけですか? .Net ネイティブ GZipStream を介してオンザフライでコンテンツを書き込みます。これが可能かどうかさえわかりません。

g'zip で圧縮された各ファイルを書き出す現在のコードを次に示します。必要な場所に移動するために何を変更すればよいかわかりません。

        using (FileStream _fsIn = new FileStream(@"F:\data\abc.tar", FileMode.Open, FileAccess.Read))
        {
            using (TarInputStream _tarIn = new TarInputStream(_fsIn))
            {
                TarEntry _tarEntry;

                while ((_tarEntry = _tarIn.GetNextEntry()) != null)
                {
                    string _archiveName = _tarEntry.Name;

                    using (FileStream _outStr = new FileStream(@"F:\data\" + _archiveName, FileMode.Create))
                    {
                        _tarIn.CopyEntryContents(_outStr);
                    }
                }
            }
        }
4

1 に答える 1

0

あなたが何をしたいのかわからない。目的を明確にすることができるかもしれません。Sharpzlib は、私が期待していたほど文書化されていません。

tar アーカイブを反復処理し、ファイルのコンテンツを新しいストリームにプッシュしました。これを出発点として使用できるかもしれません。このStackOverflowの記事を見てください

于 2011-04-20T18:47:26.347 に答える