34 lines
901 B
C#
34 lines
901 B
C#
using System.IO;
|
|
using System.Linq;
|
|
using SharpCompress.Common.GZip;
|
|
|
|
namespace SharpCompress.Archives.GZip
|
|
{
|
|
public class GZipArchiveEntry : GZipEntry, IArchiveEntry
|
|
{
|
|
internal GZipArchiveEntry(GZipArchive archive, GZipFilePart part)
|
|
: base(part)
|
|
{
|
|
Archive = archive;
|
|
}
|
|
|
|
public virtual Stream OpenEntryStream()
|
|
{
|
|
//this is to reset the stream to be read multiple times
|
|
var part = Parts.Single() as GZipFilePart;
|
|
if (part.GetRawStream().Position != part.EntryStartPosition)
|
|
{
|
|
part.GetRawStream().Position = part.EntryStartPosition;
|
|
}
|
|
return Parts.Single().GetCompressedStream();
|
|
}
|
|
|
|
#region IArchiveEntry Members
|
|
|
|
public IArchive Archive { get; }
|
|
|
|
public bool IsComplete => true;
|
|
|
|
#endregion
|
|
}
|
|
} |