CreateInputTarArchive() public static method

The InputStream based constructors create a TarArchive for the purposes of extracting or listing a tar archive. Thus, use these constructors when you wish to extract files from or list the contents of an existing tar archive.
public static CreateInputTarArchive ( Stream inputStream ) : TarArchive
inputStream Stream The stream to retrieve archive data from.
return TarArchive
Esempio n. 1
0
        public static TarArchive CreateInputTarArchive(Stream inputStream)
        {
            if (inputStream == null)
            {
                throw new ArgumentNullException("inputStream");
            }
            TarInputStream tarInputStream = inputStream as TarInputStream;

            if (tarInputStream != null)
            {
                return(new TarArchive(tarInputStream));
            }
            return(TarArchive.CreateInputTarArchive(inputStream, 20));
        }
Esempio n. 2
0
        public static TarArchive CreateInputTarArchive(Stream inputStream)
        {
            if (inputStream == null)
            {
                throw new ArgumentNullException("inputStream");
            }
            TarInputStream tarInputStream = inputStream as TarInputStream;
            TarArchive     result;

            if (tarInputStream != null)
            {
                result = new TarArchive(tarInputStream);
            }
            else
            {
                result = TarArchive.CreateInputTarArchive(inputStream, 20);
            }
            return(result);
        }
Esempio n. 3
0
        public void EmptyTar()
        {
            MemoryStream ms     = new MemoryStream();
            TarArchive   tarOut = TarArchive.CreateOutputTarArchive(ms);

            tarOut.CloseArchive();

            Assertion.Assert("Archive size must be > zero", ms.GetBuffer().Length > 0);
            Assertion.AssertEquals("Archive size must be a multiple of record size", ms.GetBuffer().Length % tarOut.RecordSize, 0);

            MemoryStream ms2 = new MemoryStream();

            ms2.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
            ms2.Seek(0, SeekOrigin.Begin);

            TarArchive tarIn = TarArchive.CreateInputTarArchive(ms2);

            entryCount = 0;
            tarIn.ProgressMessageEvent += new ProgressMessageHandler(EntryCounter);
            tarIn.ListContents();
            Assertion.AssertEquals("Expected 0 tar entries", 0, entryCount);
        }