<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>SharpCompress - a fully native C# library for RAR, 7Zip, Zip, Tar, GZip, BZip2</title><link>http://sharpcompress.codeplex.com/project/feeds/rss</link><description>SharpCompress is a compression library for .NET&amp;#47;Mono&amp;#47;Silverlight&amp;#47;WP7 that can unrar, un7zip, unzip, untar unbzip2 and ungzip with forward-only reading and file random access APIs. Write support for zip&amp;#47;tar&amp;#47;bzip2&amp;#47;gzip is implemented.      The major feature is support for non-seekable streams so large files can be processed on the fly &amp;#40;i.e. download stream&amp;#41;.    </description><item><title>Commented Unassigned: "cannot determine compressed stream type" on 7Zip archive with ReaderFactory [37]</title><link>http://sharpcompress.codeplex.com/workitem/37</link><description>I need to open up an archive created with a recent build of 7Zip and read the contents of a single small &amp;#40;&amp;#60;1k&amp;#41; file, ignoring everything else.&lt;br /&gt;&lt;br /&gt;ArchiveFactory.Open&amp;#40;&amp;#41; opens the file fine, however it is incredibly slow &amp;#40;&amp;#62;30 seconds&amp;#41; when the archive is 50MB and on a network share.&lt;br /&gt;&lt;br /&gt;I was hoping that ReaderFactory would be quicker, but ReaderFactory.Open&amp;#40;&amp;#41; generates a &amp;#34;Cannot determine compressed stream type&amp;#34; error when opening the archive.&lt;br /&gt;&lt;br /&gt;Test project and test data attached&lt;br /&gt;Comments: Ah, I see. Yes, a exception with a message &amp;#40;much like your comment above&amp;#33;&amp;#41; would be more informative, at least then it would be obvious that it was expected behaviour rather than a bug.</description><author>sevanmarc</author><pubDate>Sat, 25 May 2013 20:42:40 GMT</pubDate><guid isPermaLink="false">Commented Unassigned: "cannot determine compressed stream type" on 7Zip archive with ReaderFactory [37] 20130525084240P</guid></item><item><title>Commented Unassigned: "cannot determine compressed stream type" on 7Zip archive with ReaderFactory [37]</title><link>http://sharpcompress.codeplex.com/workitem/37</link><description>I need to open up an archive created with a recent build of 7Zip and read the contents of a single small &amp;#40;&amp;#60;1k&amp;#41; file, ignoring everything else.&lt;br /&gt;&lt;br /&gt;ArchiveFactory.Open&amp;#40;&amp;#41; opens the file fine, however it is incredibly slow &amp;#40;&amp;#62;30 seconds&amp;#41; when the archive is 50MB and on a network share.&lt;br /&gt;&lt;br /&gt;I was hoping that ReaderFactory would be quicker, but ReaderFactory.Open&amp;#40;&amp;#41; generates a &amp;#34;Cannot determine compressed stream type&amp;#34; error when opening the archive.&lt;br /&gt;&lt;br /&gt;Test project and test data attached&lt;br /&gt;Comments: 7Zip files aren&amp;#39;t supported in the IReader interface as they require a seekable stream.&amp;#10;&amp;#10;I guess I could just support the format and throw an exception when given a non-seekable stream.</description><author>adamhathcock</author><pubDate>Sat, 25 May 2013 09:11:20 GMT</pubDate><guid isPermaLink="false">Commented Unassigned: "cannot determine compressed stream type" on 7Zip archive with ReaderFactory [37] 20130525091120A</guid></item><item><title>Created Unassigned: "cannot determine compressed stream type" on 7Zip archive with ReaderFactory [37]</title><link>http://sharpcompress.codeplex.com/workitem/37</link><description>I need to open up an archive created with a recent build of 7Zip and read the contents of a single small &amp;#40;&amp;#60;1k&amp;#41; file, ignoring everything else.&lt;br /&gt;&lt;br /&gt;ArchiveFactory.Open&amp;#40;&amp;#41; opens the file fine, however it is incredibly slow &amp;#40;&amp;#62;30 seconds&amp;#41; when the archive is 50MB and on a network share.&lt;br /&gt;&lt;br /&gt;I was hoping that ReaderFactory would be quicker, but ReaderFactory.Open&amp;#40;&amp;#41; generates a &amp;#34;Cannot determine compressed stream type&amp;#34; error when opening the archive.&lt;br /&gt;&lt;br /&gt;Test project and test data attached&lt;br /&gt;</description><author>sevanmarc</author><pubDate>Thu, 23 May 2013 23:27:14 GMT</pubDate><guid isPermaLink="false">Created Unassigned: "cannot determine compressed stream type" on 7Zip archive with ReaderFactory [37] 20130523112714P</guid></item><item><title>Commented Unassigned: Protect against double-disposal in Streams [36]</title><link>http://sharpcompress.codeplex.com/workitem/36</link><description>In certain situations it is possible to have the Dispose method of a stream called multiple times.  When this happens in the various compression streams in SharpCompress it can cause exceptions when the stream&amp;#39;s Dispose code tries to finalize the compression algorithm multiple times.&lt;br /&gt;&lt;br /&gt;For instance, in PpmdStream.cs&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;protected override void Dispose&amp;#40;bool isDisposing&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    if &amp;#40;isDisposing&amp;#41;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        if &amp;#40;compress&amp;#41;&lt;br /&gt;            model.EncodeBlock&amp;#40;stream, new MemoryStream&amp;#40;&amp;#41;, true&amp;#41;&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;    base.Dispose&amp;#40;isDisposing&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;&lt;br /&gt;If this is called twice, the model.EncodeBlock method will result in an exception deep in the model&amp;#39;s code, with no easy link back to the source of the exception.&lt;br /&gt;&lt;br /&gt;Either the compression stream classes or their models should check for the encoding process being finalized before trying to finalize it a second time.  A _disposed_ flag in the stream class for instance, or a flag in the model that is set when the encoding is finalized, with appropriate error messages for attempts to continue to use a finalized model.&lt;br /&gt;Comments: Thanks for the library &amp;#58;&amp;#41;</description><author>EMonk</author><pubDate>Tue, 21 May 2013 21:32:16 GMT</pubDate><guid isPermaLink="false">Commented Unassigned: Protect against double-disposal in Streams [36] 20130521093216P</guid></item><item><title>New Post: EntryStream Position and Lenght Exception</title><link>http://sharpcompress.codeplex.com/discussions/444030</link><description>&lt;div style="line-height: normal;"&gt;Yes, it worked just fine with MemoryStream.&lt;br /&gt;
&lt;br /&gt;
Thanks!&lt;br /&gt;
&lt;/div&gt;</description><author>flonex</author><pubDate>Mon, 20 May 2013 08:46:47 GMT</pubDate><guid isPermaLink="false">New Post: EntryStream Position and Lenght Exception 20130520084647A</guid></item><item><title>Commented Unassigned: Protect against double-disposal in Streams [36]</title><link>http://sharpcompress.codeplex.com/workitem/36</link><description>In certain situations it is possible to have the Dispose method of a stream called multiple times.  When this happens in the various compression streams in SharpCompress it can cause exceptions when the stream&amp;#39;s Dispose code tries to finalize the compression algorithm multiple times.&lt;br /&gt;&lt;br /&gt;For instance, in PpmdStream.cs&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;protected override void Dispose&amp;#40;bool isDisposing&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    if &amp;#40;isDisposing&amp;#41;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        if &amp;#40;compress&amp;#41;&lt;br /&gt;            model.EncodeBlock&amp;#40;stream, new MemoryStream&amp;#40;&amp;#41;, true&amp;#41;&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;    base.Dispose&amp;#40;isDisposing&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;&lt;br /&gt;If this is called twice, the model.EncodeBlock method will result in an exception deep in the model&amp;#39;s code, with no easy link back to the source of the exception.&lt;br /&gt;&lt;br /&gt;Either the compression stream classes or their models should check for the encoding process being finalized before trying to finalize it a second time.  A _disposed_ flag in the stream class for instance, or a flag in the model that is set when the encoding is finalized, with appropriate error messages for attempts to continue to use a finalized model.&lt;br /&gt;Comments: I will go over all the streams and do this.  Thanks for this catch.</description><author>adamhathcock</author><pubDate>Mon, 20 May 2013 08:15:04 GMT</pubDate><guid isPermaLink="false">Commented Unassigned: Protect against double-disposal in Streams [36] 20130520081504A</guid></item><item><title>Created Unassigned: Protect against double-disposal in Streams [36]</title><link>http://sharpcompress.codeplex.com/workitem/36</link><description>In certain situations it is possible to have the Dispose method of a stream called multiple times.  When this happens in the various compression streams in SharpCompress it can cause exceptions when the stream&amp;#39;s Dispose code tries to finalize the compression algorithm multiple times.&lt;br /&gt;&lt;br /&gt;For instance, in PpmdStream.cs&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;protected override void Dispose&amp;#40;bool isDisposing&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;    if &amp;#40;isDisposing&amp;#41;&lt;br /&gt;    &amp;#123;&lt;br /&gt;        if &amp;#40;compress&amp;#41;&lt;br /&gt;            model.EncodeBlock&amp;#40;stream, new MemoryStream&amp;#40;&amp;#41;, true&amp;#41;&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;    base.Dispose&amp;#40;isDisposing&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;&amp;#96;&amp;#96;&amp;#96;&lt;br /&gt;&lt;br /&gt;If this is called twice, the model.EncodeBlock method will result in an exception deep in the model&amp;#39;s code, with no easy link back to the source of the exception.&lt;br /&gt;&lt;br /&gt;Either the compression stream classes or their models should check for the encoding process being finalized before trying to finalize it a second time.  A _disposed_ flag in the stream class for instance, or a flag in the model that is set when the encoding is finalized, with appropriate error messages for attempts to continue to use a finalized model.&lt;br /&gt;</description><author>EMonk</author><pubDate>Sun, 19 May 2013 03:54:09 GMT</pubDate><guid isPermaLink="false">Created Unassigned: Protect against double-disposal in Streams [36] 20130519035409A</guid></item><item><title>New Post: EntryStream Position and Lenght Exception</title><link>http://sharpcompress.codeplex.com/discussions/444030</link><description>&lt;div style="line-height: normal;"&gt;Rather than do that with a byte array, make a MemoryStream then use CopyTo from the EntryStream.  Then get the byte array from the memory stream.&lt;br /&gt;
&lt;br /&gt;
For reading that text, you can use a StreamReader wrapping the EntryStream and call ReadToEnd on the reader.&lt;br /&gt;
&lt;br /&gt;
EntryStreams are forward only reading. They don't know their length.&lt;br /&gt;
&lt;/div&gt;</description><author>adamhathcock</author><pubDate>Sat, 18 May 2013 09:51:15 GMT</pubDate><guid isPermaLink="false">New Post: EntryStream Position and Lenght Exception 20130518095115A</guid></item><item><title>New Post: EntryStream Position and Lenght Exception</title><link>https://sharpcompress.codeplex.com/discussions/444030</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br /&gt;
&lt;br /&gt;
For my application, I don't need to write the files into an output directory/file (as I saw in all your examples), I just need to read the current file into a string/xml and process it.&lt;br /&gt;
&lt;br /&gt;
Because I couldn't find any example of using EntryStream or WriteEntryTo(Stream writableStream) method in the code examples or unit tests, I decided to make the following test.&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;using (Stream stream = File.OpenRead(file))
{
    using (var reader = RarReader.Open(stream))
    {
        while (reader.MoveToNextEntry())
        {
            if (!reader.Entry.IsDirectory &amp;amp;&amp;amp; Path.GetExtension(reader.Entry.FilePath).Equals(&amp;quot;.xml&amp;quot;))
            {
                using (var entryStream = reader.OpenEntryStream())
                {    
                  byte[] bytes = new byte[entryStream.Length];
                  entryStream.Position = 0;
                  entryStream.Read(bytes, 0, (int)entryStream.Length);
                  string result = Encoding.ASCII.GetString(bytes);
                 }
             }
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;

This code throws two exceptions &amp;quot;The method or operation is not implemented.&amp;quot; - at entryStream.Position  and entryStream.Lenght.&lt;br /&gt;
&lt;br /&gt;
Am I doing something wrong here? If so, can you please, provide a similar example?&lt;br /&gt;
&lt;br /&gt;
Thanks!&lt;br /&gt;
Diana&lt;br /&gt;
&lt;/div&gt;</description><author>flonex</author><pubDate>Fri, 17 May 2013 11:05:23 GMT</pubDate><guid isPermaLink="false">New Post: EntryStream Position and Lenght Exception 20130517110523A</guid></item><item><title>Reviewed: SharpCompress 0.9 (5 15, 2013)</title><link>https://sharpcompress.codeplex.com/releases/view/106161#ReviewBy-putin</link><description>Rated 1 Stars &amp;#40;out of 5&amp;#41; - this is debug build.&amp;#10;Windows Store cant use debug build..</description><author>putin</author><pubDate>Wed, 15 May 2013 12:35:21 GMT</pubDate><guid isPermaLink="false">Reviewed: SharpCompress 0.9 (5 15, 2013) 20130515123521P</guid></item><item><title>New Post: RarReader Entry CRC issue</title><link>http://sharpcompress.codeplex.com/discussions/443313</link><description>&lt;div style="line-height: normal;"&gt;Thanks for the clarification.&lt;br /&gt;
&lt;/div&gt;</description><author>jsheares</author><pubDate>Sat, 11 May 2013 20:35:52 GMT</pubDate><guid isPermaLink="false">New Post: RarReader Entry CRC issue 20130511083552P</guid></item><item><title>New Post: RarReader Entry CRC issue</title><link>http://sharpcompress.codeplex.com/discussions/443313</link><description>&lt;div style="line-height: normal;"&gt;The CRC is only loaded as the file is written.  It's expected behavior at the moment.&lt;br /&gt;
&lt;/div&gt;</description><author>adamhathcock</author><pubDate>Sat, 11 May 2013 10:22:37 GMT</pubDate><guid isPermaLink="false">New Post: RarReader Entry CRC issue 20130511102237A</guid></item><item><title>New Post: RarReader Entry CRC issue</title><link>http://sharpcompress.codeplex.com/discussions/443313</link><description>&lt;div style="line-height: normal;"&gt;I seem to be having an issue with the entry CRC property.   Before calling reader.WriteEntryToDirectory, reader.Entry.Crc is incorrect.  After calling reader.WriteEntryToDirectory, reader.Entry.Crc is now correct.  Is this a bug?&lt;br /&gt;
&lt;br /&gt;
reader.Entry.Crc  &amp;lt;- wrong&lt;br /&gt;
execute reader.WriteEntryToDirectory&lt;br /&gt;
reader.Entry.Crc  &amp;lt; - correct                          &lt;br /&gt;
&lt;/div&gt;</description><author>jsheares</author><pubDate>Sat, 11 May 2013 02:34:38 GMT</pubDate><guid isPermaLink="false">New Post: RarReader Entry CRC issue 20130511023438A</guid></item><item><title>Commented Unassigned: Open tar archive from stream [35]</title><link>http://sharpcompress.codeplex.com/workitem/35</link><description>When I try to open tar archive from stream using method ArchiveFactory.Open&amp;#40;Stream, Options&amp;#41;, the archive is recognize as rar. In consequence, when I try to read archive entries I get InvalidFormatException &amp;#40;Invalid Rar Header&amp;#41;.&lt;br /&gt;Comments: Thanks a lot for a quick fix. &amp;#10;BTW. SharpCompress is very smart and useful library.</description><author>pjakobczyk</author><pubDate>Tue, 07 May 2013 16:33:46 GMT</pubDate><guid isPermaLink="false">Commented Unassigned: Open tar archive from stream [35] 20130507043346P</guid></item><item><title>Commented Unassigned: Open tar archive from stream [35]</title><link>http://sharpcompress.codeplex.com/workitem/35</link><description>When I try to open tar archive from stream using method ArchiveFactory.Open&amp;#40;Stream, Options&amp;#41;, the archive is recognize as rar. In consequence, when I try to read archive entries I get InvalidFormatException &amp;#40;Invalid Rar Header&amp;#41;.&lt;br /&gt;Comments: Fix for what you found&amp;#58; https&amp;#58;&amp;#47;&amp;#47;github.com&amp;#47;adamhathcock&amp;#47;sharpcompress&amp;#47;commit&amp;#47;483f2e564a49c5ac17a92f8ae97f00db3424a514</description><author>adamhathcock</author><pubDate>Tue, 07 May 2013 13:33:00 GMT</pubDate><guid isPermaLink="false">Commented Unassigned: Open tar archive from stream [35] 20130507013300P</guid></item><item><title>Commented Unassigned: Open tar archive from stream [35]</title><link>http://sharpcompress.codeplex.com/workitem/35</link><description>When I try to open tar archive from stream using method ArchiveFactory.Open&amp;#40;Stream, Options&amp;#41;, the archive is recognize as rar. In consequence, when I try to read archive entries I get InvalidFormatException &amp;#40;Invalid Rar Header&amp;#41;.&lt;br /&gt;Comments: I took a look at the problem closer. The problem is not with tar header but with method ArchiveFactory.Open taking Stream argument. ArchiveFactory.Open method which take FileInfo works fine. It seems that there is no LookForHeader option in RarArchive.IsRarFile invocation and the archive stream is recognized as rar.</description><author>pjakobczyk</author><pubDate>Tue, 07 May 2013 13:04:36 GMT</pubDate><guid isPermaLink="false">Commented Unassigned: Open tar archive from stream [35] 20130507010436P</guid></item><item><title>Commented Unassigned: Open tar archive from stream [35]</title><link>http://sharpcompress.codeplex.com/workitem/35</link><description>When I try to open tar archive from stream using method ArchiveFactory.Open&amp;#40;Stream, Options&amp;#41;, the archive is recognize as rar. In consequence, when I try to read archive entries I get InvalidFormatException &amp;#40;Invalid Rar Header&amp;#41;.&lt;br /&gt;Comments: Do you have a small example of a tar that does this&amp;#63;  There must be a tar header I&amp;#39;m missing or something.</description><author>adamhathcock</author><pubDate>Tue, 07 May 2013 12:24:46 GMT</pubDate><guid isPermaLink="false">Commented Unassigned: Open tar archive from stream [35] 20130507122446P</guid></item><item><title>Created Unassigned: Open tar archive from stream [35]</title><link>http://sharpcompress.codeplex.com/workitem/35</link><description>When I try to open tar archive from stream using method ArchiveFactory.Open&amp;#40;Stream, Options&amp;#41;, the archive is recognize as rar. In consequence, when I try to read archive entries I get InvalidFormatException &amp;#40;Invalid Rar Header&amp;#41;.&lt;br /&gt;</description><author>pjakobczyk</author><pubDate>Tue, 07 May 2013 10:43:21 GMT</pubDate><guid isPermaLink="false">Created Unassigned: Open tar archive from stream [35] 20130507104321A</guid></item><item><title>New Post: WinRT / Metro support</title><link>http://sharpcompress.codeplex.com/discussions/395256</link><description>&lt;div style="line-height: normal;"&gt;In Version 0.9, I changed the project layout and added a WindowsStore assembly.  I'm also playing around with a WinMD project.&lt;br /&gt;
&lt;/div&gt;</description><author>adamhathcock</author><pubDate>Sun, 05 May 2013 08:56:38 GMT</pubDate><guid isPermaLink="false">New Post: WinRT / Metro support 20130505085638A</guid></item><item><title>Created Release: SharpCompress 0.9 (May 04, 2013)</title><link>https://sharpcompress.codeplex.com/releases?ReleaseId=106161</link><description>&lt;div class="wikidoc"&gt;https://nuget.org/packages/sharpcompress/0.9&lt;br /&gt;&lt;br /&gt;New source location: https://github.com/adamhathcock/sharpcompress&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;New 7Zip reading code&lt;/li&gt;
&lt;li&gt;Redid assemblies to have three versions
&lt;ul&gt;&lt;li&gt;.NET 4.5&lt;/li&gt;
&lt;li&gt;Portable&lt;/li&gt;
&lt;li&gt;Windows Store&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Other Minor Fixes (found in source history)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>adamhathcock</author><pubDate>Sat, 04 May 2013 16:13:04 GMT</pubDate><guid isPermaLink="false">Created Release: SharpCompress 0.9 (May 04, 2013) 20130504041304P</guid></item></channel></rss>