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就行了,編譯運行,大功告成