Min lilla kompressionsassistent...om förbättrad version (Svenska (Swedish))

Min lilla kompressionsassistent...om förbättrad version

Tuesday, 06 April 2004

//

2 minute read

Jag laddade upp min kompressionsassistentklass innan och insåg nästan omedelbart att den lider av "'", "legacy lag," ', - så den МSK3 har förändrats så mycket under de månaderna att den var riktigt dålig. Hursomhelst, den här bilden är en modifierad version av den klassen, som jag också provat på i min nya formateringsschema. SharpZipLib.

med System;

med hjälp av System

med hjälp av System

med hjälp av ICSharpCode .SharpZipLib;

Namespace SerializableJob.Kompression

{

public enum Kompressionstyp

{

GZip,

BZip2,

Zip

}

offentlig klass Kompression

{

offentlig statisk kompressionstyp Kompressions-Provider = Compressions प्रकार .GZipM SK2

privat statisk ström utgångStromen(Strom ingångStrumen )

{

strömbrytare(KompressionProvider)

{

fall Kompressionstyp.BZip2:

ge tillbaka den nya ICSharpCoden.SharpZipLib.BZipM SK2B Zip 2OutputStreamMSC4inputStream≥);

fall Kompressionstyp.GZip:

ge tillbaka den nya ICSharpCoden.SharpZipLib.GZipM SK2G ZipOutputStream

fall Kompressionstyp.Zip:

ge tillbaka den nya ICSharpCoden .SharpZipLib.Zip

default:

ge tillbaka den nya ICSharpCoden.SharpZipLib.GZipM SK2G ZipOutputStream

}

}

privat statisk Stream InputStream(Stream inputStream )

{

strömbrytare(KompressionProvider)

{

fall Kompressionstyp.BZip2:

ge tillbaka den nya ICSharpCoden.SharpZipLib.BZipM SK2B Zip 2InputStreamMSC4inputStream≥);

fall Kompressionstyp.GZip:

ge tillbaka den nya ICSharpCoden.SharpZipLib.GZipM SK2G ZipInputStream

fall Kompressionstyp.Zip:

ge tillbaka den nya ICSharpCoden.SharpZipLib.Zip

default:

ge tillbaka den nya ICSharpCoden.SharpZipLib.GZipM SK2G ZipInputStream 

}

}

offentlig statisk byte[] Komprimera[] byter för att komprimera)

{

MemoryStream ms = ny MemoryStream();

Stream s = OutputStream(msM SK2

  1. skriva ( byter för att komprimera

s.CloseM SK1

ge tillbaka ms.ToArray();

}

offentlig statisk string Komprimera(string stringToKompressa )

{

byte[] komprimerade data = CompressToByte

string strOut = Konvertera.ToBase

ge tillbaka strOut;

}

offentlig statisk byte[] CompressToByte(string stringToCompress

{

byte[] bytdata | = | Kodering |. | Enkoder | МSK3 | GetBytes | ( | Sträng för att komprimera

återkomma Komprimera(bytData);;

}

offentlig string DeCompress(string stringToDecompress )

{

string outString = string.OttystM SK2

om (stringToDecompress == null

{

werfen nya ArgumentNullException("stringToDecompressM SK1Ni försökte använda en tom string");

}

att försöka

{

byte[] inArr = Konvertera.VomBaseMSC3StringM SK4stringToDekompressaMska5TrimM Ska6

outString = System

}

få tag (NullreferensException nExM SK1

{

ge tillbaka nEx.Message;

}

återvänder utString;

}

offentlig statisk byte[] DeCompress[] byterAtkomprimera)

{

byte[] writeData = nytt byt[4096];

Strom s2 = InputStream ( ny minnesström, ( byter för att dekomprimera,));

MemoryStream outStream = ny MemoryStream();

medan

{

int-storlek = sM SK1Read(skrivdata ,0,skriv dataMska4LängdMka5

om(storlek>0)

{

utströmning. skriva ( skrivadata M SK2 storlek );

}

annat

{

bryta;

}

}

s2.CloseM SK1

byte[] utArr

outStream.Close();

återvända utArr;

}

}

} ?>

Finding related posts...
logo

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