Back to "Pieni pakkausauttajani...paransi versiota"

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

Imported mostlylucidcouk

Pieni pakkausauttajani...paransi versiota

Tuesday, 06 April 2004

Postitin paineluaputuntini aiemmin ja tajusin melkein heti, että se kärsi "legaattilapusta" - niin paljon se oli muuttunut kuukausien aikana, että se oli todella paha! Alla on kuitenkin muokattu versio luokasta (jota olen myös kokeillut uuden muotoiluni päälle) muistutuksena, se on vain yksinkertainen kääre ympärillä. SharpZipLib.

Järjestelmän käyttö;

Käyttämällä System.Text;

System.IO:n käyttö;

käyttää ICSharpCode.SharpZipLibiä;

namespace SerializableJob.Compression

{

Julkinen pakkausType

{

GZip,

BZip2,

Vetoketju

}

Yleisön luokkakamppailu

{

julkinen staattinen pakkausType CompressionProvider = CompressionType.GZip;

yksityinen staattinen Stream OutputStream (Stream inputStream)

{

kytkin(CpressionProvider)

{

Case CompressionType.BZip2:

palauttaa uuden ICSharpCode.SharpZipLib.BZip2.BZip2OutputStream (inputStream);

Case CompressionType.GZip:

Palauta uusi ICSharpCode.SharpZipLib.GZip.GZipOutputStream (InputStream);

Case CompressionType.Zip:

palauttaa uuden ICSharpCode.SharpZipLib.Zip.ZipOutputStream (InputStream);

oletus:

Palauta uusi ICSharpCode.SharpZipLib.GZip.GZipOutputStream (InputStream);

}

}

Private static Stream InputStream (Stream inputStream)

{

kytkin(CpressionProvider)

{

Case CompressionType.BZip2:

palauttaa uuden ICSharpCode.SharpZipLib.BZip2.BZip2InputStream (inputStream);

Case CompressionType.GZip:

palauttaa uuden ICSharpCode.SharpZipLib.GZip.GZipInputStream (inputStream);

Case CompressionType.Zip:

palauttaa uuden ICSharpCode.SharpZipLib.Zip.ZipInputStream (inputStream);

oletus:

palauttaa uuden ICSharpCode.SharpZipLib.GZip.GZipInputStream (inputStream);

}

}

julkinen staattinen tavu[] Puristus (tavu)[] bytesToCompress)

{

MemoryStream ms = uusi MemoryStream ();

Stream s = OutputStream (ms);

S.Write(bytesToCompress,0, bytesToCompress. Pituus);

s.Close();

palauttaa ms.ToArray();

}

Julkinen staattinen merkkijono Puristus (jousitusjonoToCompress)

{

byte[] CompactData = CompressToByte (StringToCompress);

String strOut = Convert.ToBase64String(compressedData);

Return Strout;

}

julkinen staattinen tavu[] CompressToByte(String stringToCompress)

{

byte[] bytData = koodaus.Unicode.GetBytes (StringToCompress);

paluukamppailu (bytData);

}

Julkinen merkkijono DeCompress (String stringToDecompress)

{

String outString = string.Empty;

if (StringToDecompress Suomennos: Michael T. Francis Pinmontagne SUBHEAVEN.ORG

{

Heitä uusi ArgumentNullException ("StringToDecompress"), "yritit käyttää tyhjää narua".

}

kokeile

{

byte[] inArr = Convert.Base64String (StringToDecompress.Trim ());

OutString = System.Text.Koodaus.Unicode.GetString(DeCompress(inArr));

}

saalis (NullReferenceEx)

{

Return nEx.Viesti;

}

Return out outString;

}

julkinen staattinen tavu[] DeCompress (tavu)[] bytesToDecompress)

{

byte[] writeData = uusi tavu[4096];

Stream s2 = InputStream (uusi MemoryStream (tavutToDecompress));

MemoryStream outStream = uusi MemoryStream ();

that(todellinen)

{

Int size = s2.Read(writeData,0,writeData.Pituus);

if(koko)>0)

{

OutStream.Write(writeData,0,size);

}

muuta

{

tauko;

}

}

S2.Sulje();

byte[] ulosArr = ulosStream.ToArray();

ulosStream.Close();

Palauttakaa pois Arr;

}

}

} ?>

logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.