常用代码段收集--压缩、解压
2008-11-23 14:28
363 查看
/// <summary>
/// 压缩
/// </summary>
/// <param name="vcompressString"></param>
/// <returns></returns>
public byte[] CompressString(string vcompressString)
{
byte[] result = null;
if (vcompressString != null && vcompressString != "")
{
try
{
byte[] vData = Encoding.UTF8.GetBytes(vcompressString);
MemoryStream input = new MemoryStream(vData);
MemoryStream output = new MemoryStream();
System.IO.Compression.GZipStream gzip = new System.IO.Compression.GZipStream(output,
System.IO.Compression.CompressionMode.Compress);
byte[] vBuf = new byte[4096];
int number;
while ((number = input.Read(vBuf, 0, 4096)) > 0)
{
gzip.Write(vBuf, 0, number);
}
gzip.Close();
input.Close();
result = output.ToArray();
}
catch (Exception E)
{
MessageBox.Show("压缩字符串失败,原因: " + E.Message);
}
}
return result;
}
/// <summary>
/// 解缩
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public string Decompress(byte[] data)
{
string Result = "";
if (data != null)
{
try
{
MemoryStream input = new MemoryStream(data);
System.IO.Compression.GZipStream gzip = new System.IO.Compression.GZipStream(input, System.IO.Compression.CompressionMode.Decompress, true);
MemoryStream output = new MemoryStream();
byte[] buff = new byte[4096];
int read = -1;
read = gzip.Read(buff, 0, buff.Length);
while (read > 0)
{
output.Write(buff, 0, read);
read = gzip.Read(buff, 0, buff.Length);
}
gzip.Close();
input.Dispose();
Result = Encoding.UTF8.GetString(output.ToArray());
}
catch (Exception E)
{
Result = "ERROR:无法获取数据,原因:" + E.Message;
}
}
else
Result = "ERROR:数据值为空!";
return Result;
}
相关文章推荐
- (转贴)unix和linux下常用压缩格式的压缩与解压方法
- Linux常用压缩解压命令
- Linux下常用压缩格式的压缩与解压方法
- Linux操作系统下常用压缩文件的解压方式
- 用java代码实现文件的zip压缩与解压
- Linux下常用压缩格式的压缩与解压方法
- Linux常用压缩解压命令
- Linux常用压缩解压命令
- java zip递归压缩解压代码
- Linux下常用压缩格式的压缩与解压方法
- 常用Linux命令--软件管理,压缩,解压,补丁
- ubuntu下常用的压缩及解压命令
- linux下常用压缩格式的压缩与解压方法
- Linux常用命令——压缩与解压
- 通过C#代码 压缩/解压文件
- Linux下常用压缩格式的压缩与解压方法
- Linux下常用压缩格式的压缩与解压方法
- Linux下常用压缩格式的压缩与解压方法
- linux和unix下常用解压和压缩命令
- Linux下常用压缩格式的压缩与解压方法