///<summary> ///功能:壓縮文件(暫時(shí)只壓縮文件夾下一級(jí)目錄中的文件,文件夾及其子級(jí)被忽略) ///</summary> ///<paramname="dirPath">被壓縮的文件夾夾路徑</param> ///<paramname="zipFilePath">生成壓縮文件的路徑,為空則默認(rèn)與被壓縮文件夾同一級(jí)目錄,名稱(chēng)為:文件夾名+.zip</param> ///<paramname="err">出錯(cuò)信息</param> ///<returns>是否壓縮成功</returns> publicboolZipFile(string dirPath,stringzipFilePath,outstringerr) { err = ""; if(dirPath == string.Empty) { err = "要壓縮的文件夾不能為空!"; return false; } if(!Directory.Exists(dirPath)) { err = "要壓縮的文件夾不存在!"; return false; } //壓縮文件名為空時(shí)使用文件夾名+.zip if(zipFilePath == string.Empty) { if (dirPath.EndsWith("//")) { dirPath = dirPath.Substring(0, dirPath.Length - 1); } zipFilePath = dirPath + ".zip"; } try { string[] filenames =Directory.GetFiles(dirPath); using (ZipOutputStreams =newZipOutputStream(File.Create(zipFilePath))) { s.SetLevel(9); byte[] buffer =newbyte[4096]; foreach (stringfilein filenames) { ZipEntry entry =newZipEntry(Path.GetFileName(file)); entry.DateTime = DateTime.Now; s.PutNextEntry(entry); using(FileStream fs =File.OpenRead(file)) { intsourceBytes; do { sourceBytes =fs.Read(buffer, 0, buffer.Length); s.Write(buffer,0, sourceBytes); } while(sourceBytes > 0); } } s.Finish(); s.Close(); } } catch(Exception ex) { err = ex.Message; return false; } returntrue; }
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注