Files
sharpcompress/src/SharpCompress/Common/Tar/TarFilePart.cs

37 lines
977 B
C#
Raw Normal View History

2015-12-30 11:19:42 +00:00
using System.IO;
using SharpCompress.Common.Tar.Headers;
using SharpCompress.IO;
namespace SharpCompress.Common.Tar
{
internal class TarFilePart : FilePart
{
private readonly Stream _seekableStream;
2015-12-30 11:19:42 +00:00
internal TarFilePart(TarHeader header, Stream seekableStream)
: base(header.ArchiveEncoding)
2015-12-30 11:19:42 +00:00
{
this._seekableStream = seekableStream;
2015-12-30 11:19:42 +00:00
Header = header;
}
internal TarHeader Header { get; }
2015-12-30 11:19:42 +00:00
2017-05-19 10:52:49 +01:00
internal override string FilePartName => Header.Name;
2015-12-30 11:19:42 +00:00
internal override Stream GetCompressedStream()
{
if (_seekableStream != null)
2015-12-30 11:19:42 +00:00
{
_seekableStream.Position = Header.DataStartPosition.Value;
return new ReadOnlySubStream(_seekableStream, Header.Size);
2015-12-30 11:19:42 +00:00
}
return Header.PackedStream;
}
internal override Stream GetRawStream()
{
return null;
}
}
2013-04-28 12:32:55 +01:00
}