getValue
. The complete checksum object can also be reset
+ /// so it can be used again with new data.
+ ///
+ /// using System;
+ /// using System.IO;
+ ///
+ /// using ICSharpCode.SharpZipLib.Core;
+ /// using ICSharpCode.SharpZipLib.GZip;
+ ///
+ /// class MainClass
+ /// {
+ /// public static void Main(string[] args)
+ /// {
+ /// using (Stream inStream = new GZipInputStream(File.OpenRead(args[0])))
+ /// using (FileStream outStream = File.Create(Path.GetFileNameWithoutExtension(args[0]))) {
+ /// byte[] buffer = new byte[4096];
+ /// StreamUtils.Copy(inStream, outStream, buffer);
+ /// }
+ /// }
+ /// }
+ ///
+ ///
+ /// using System;
+ /// using System.IO;
+ ///
+ /// using ICSharpCode.SharpZipLib.GZip;
+ /// using ICSharpCode.SharpZipLib.Core;
+ ///
+ /// class MainClass
+ /// {
+ /// public static void Main(string[] args)
+ /// {
+ /// using (Stream s = new GZipOutputStream(File.Create(args[0] + ".gz")))
+ /// using (FileStream fs = File.OpenRead(args[0])) {
+ /// byte[] writeData = new byte[4096];
+ /// Streamutils.Copy(s, fs, writeData);
+ /// }
+ /// }
+ /// }
+ /// }
+ ///
+ ///
+ /// using System;
+ /// using System.IO;
+ ///
+ /// using ICSharpCode.SharpZipLib.Core;
+ /// using ICSharpCode.SharpZipLib.LZW;
+ ///
+ /// class MainClass
+ /// {
+ /// public static void Main(string[] args)
+ /// {
+ /// using (Stream inStream = new LzwInputStream(File.OpenRead(args[0])))
+ /// using (FileStream outStream = File.Create(Path.GetFileNameWithoutExtension(args[0]))) {
+ /// byte[] buffer = new byte[4096];
+ /// StreamUtils.Copy(inStream, outStream, buffer);
+ /// // OR
+ /// inStream.Read(buffer, 0, buffer.Length);
+ /// // now do something with the buffer
+ /// }
+ /// }
+ /// }
+ ///
+ /// + /// You should never have a need to access this class directly. + /// TarBuffers are created by Tar IO Streams. + ///
+ ///+ /// TarEntries that are created from the header bytes read from + /// an archive are instantiated with the TarEntry( byte[] ) + /// constructor. These entries will be used when extracting from + /// or listing the contents of an archive. These entries have their + /// header filled in using the header bytes. They also set the File + /// to null, since they reference an archive entry not a file.
+ ///+ /// TarEntries that are created from files that are to be written + /// into an archive are instantiated with the CreateEntryFromFile(string) + /// pseudo constructor. These entries have their header filled in using + /// the File's information. They also keep a reference to the File + /// for convenience when writing entries.
+ ///+ /// Finally, TarEntries can be constructed from nothing but a name. + /// This allows the programmer to construct the entry by hand, for + /// instance when only an InputStream is available for writing to + /// the archive, and the header information is constructed from + /// other information. In this case the header fields are set to + /// defaults and the File is set to null.
+ ///Read()
+ /// setInput(input, 0, input.length)
.
+ /// setDictionary(dict, 0, dict.Length)
.
+ /// NeedsInput()
+ /// returns true
+ ///
+ /// strstart + DeflaterConstants.MAX_MATCH <= window.length.
+ /// prev[index & WMASK]
points to the previous index that has the
+ /// same hash code as the string starting at index. This way
+ /// entries with the same hash code are in a linked list.
+ /// Note that the array should really be unsigned short, so you need
+ /// to and the values with 0xffff.
+ /// public Inflater(bool noHeader)
passing true
+ /// if there is no Zlib header information
+ ///
+ /// The usage is as following. First you have to set some input with
+ /// SetInput()
, then Inflate() it. If inflate doesn't
+ /// inflate any bytes there may be three reasons:
+ /// SetInput()
.
+ /// NOTE: IsNeedingInput() also returns true when, the stream is finished.
+ /// SetDictionary()
.def.deflate()
until all bytes from the input buffers
+ /// are processed.
+ ///
+ /// using System;
+ /// using System.Text;
+ /// using System.Collections;
+ /// using System.IO;
+ ///
+ /// using ICSharpCode.SharpZipLib.Zip;
+ ///
+ /// class MainClass
+ /// {
+ /// static public void Main(string[] args)
+ /// {
+ /// using (ZipFile zFile = new ZipFile(args[0])) {
+ /// Console.WriteLine("Listing of : " + zFile.Name);
+ /// Console.WriteLine("");
+ /// Console.WriteLine("Raw Size Size Date Time Name");
+ /// Console.WriteLine("-------- -------- -------- ------ ---------");
+ /// foreach (ZipEntry e in zFile) {
+ /// if ( e.IsFile ) {
+ /// DateTime d = e.DateTime;
+ /// Console.WriteLine("{0, -10}{1, -10}{2} {3} {4}", e.Size, e.CompressedSize,
+ /// d.ToString("dd-MM-yy"), d.ToString("HH:mm"),
+ /// e.Name);
+ /// }
+ /// }
+ /// }
+ /// }
+ /// }
+ ///
+ ///
+ /// using System;
+ /// using System.Text;
+ /// using System.IO;
+ ///
+ /// using ICSharpCode.SharpZipLib.Zip;
+ ///
+ /// class MainClass
+ /// {
+ /// public static void Main(string[] args)
+ /// {
+ /// using ( ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]))) {
+ ///
+ /// ZipEntry theEntry;
+ /// const int size = 2048;
+ /// byte[] data = new byte[2048];
+ ///
+ /// while ((theEntry = s.GetNextEntry()) != null) {
+ /// if ( entry.IsFile ) {
+ /// Console.Write("Show contents (y/n) ?");
+ /// if (Console.ReadLine() == "y") {
+ /// while (true) {
+ /// size = s.Read(data, 0, data.Length);
+ /// if (size > 0) {
+ /// Console.Write(new ASCIIEncoding().GetString(data, 0, size));
+ /// } else {
+ /// break;
+ /// }
+ /// }
+ /// }
+ /// }
+ /// }
+ /// }
+ /// }
+ /// }
+ ///
+ ///
+ /// using System;
+ /// using System.IO;
+ ///
+ /// using ICSharpCode.SharpZipLib.Core;
+ /// using ICSharpCode.SharpZipLib.Zip;
+ ///
+ /// class MainClass
+ /// {
+ /// public static void Main(string[] args)
+ /// {
+ /// string[] filenames = Directory.GetFiles(args[0]);
+ /// byte[] buffer = new byte[4096];
+ ///
+ /// using ( ZipOutputStream s = new ZipOutputStream(File.Create(args[1])) ) {
+ ///
+ /// s.SetLevel(9); // 0 - store only to 9 - means best compression
+ ///
+ /// foreach (string file in filenames) {
+ /// ZipEntry entry = new ZipEntry(file);
+ /// s.PutNextEntry(entry);
+ ///
+ /// using (FileStream fs = File.OpenRead(file)) {
+ /// StreamUtils.Copy(fs, s, buffer);
+ /// }
+ /// }
+ /// }
+ /// }
+ /// }
+ ///
+ ///