DotNetZip 下载地址:http://dotnetzip.codeplex.com/
压缩:
代码如下 |
复制代码 |
//定义文件路径
string filename = @"d:/test.rar";
using (ZipFile zip = new ZipFile())
{
zip.AddFile(@"C:/text.txt", "txt");//将text文件存放在txt文件夹
zip.AddFile(@"C:/ReadMe.txt");//将ReadMe文件存放于更目录
zip.AddFile(@"C:/test.jpg", "images");//将test文件存放在images文件夹
}
解压:
using (ZipFile zip = new ZipFile(filename))
{
zip.ExtractAll("d:\\test", ExtractExistingFileAction.OverwriteSilently);
}
|
中文字符不显示的问题
代码如下 |
复制代码 |
/////////////////////////替换内容
string str2 = System.Text.Encoding.GetEncoding("GB2312").GetString(buf, start, maxlength);
return str2;
////////////////////////被替换内容
//int i;
//char[] c = new char[maxlength];
//for (i = 0; (i < maxlength) && (i < buf.Length) && (buf[i] != 0); i++)
//{
// c[i] = (char)buf[i]; // System.BitConverter.ToChar(buf, start+i*2);
//}
//string s = new System.String(c, 0, i);
//return s;
////////////////////////
|
这个方法大意是,将字节数组逐个转换为字符数组,将汉字的编码拆成两个字符,这很明显会造成乱码,既然编码采用GetBytes,那么解码也就用反的,GetString就行了,编译运行,大功告成