آموزش فشرده کردن (zip کردن) فایل و پوشه در سی شارپ در #C
سلام بر برنامه نویسان #C …
در این مطلب آموزشی سی شارپ ، شما یاد می گیرید که چگونه یک فایل یا یک فولدر (پوشه) رو با استفاده از کدنویسی ، zip کنید.
من حتی این آموزش رو قسمت اکسترکت کردنش رو با ویژوال استودیو 2008 امتحان کردم و جواب داد. پس با خیال راحت ازش استفاده کنید.
مباحث و مطالبی که در این مطلب آموزش به آن پرداخته می شود:
- کد zip کردن ساده
- فشرده کردن و افزودن پسورد برای فایلها
- گذاشتن پسورد متفاوت برای فایل های متفاوت
- افزودن کامنت به فایل zip
- حذف یک فایل از فایل zip
- extract کردن یک فایل زیپ
- extract کردن فایل زیپ دارای رمز عبور
- RENAME یک فایل
- استفاده از System.IO.Compression و به کار بردن CreateFromDirectory و ExtractToDirectory
برای انجام کارهای فشرده سازی از کتابخانه ی DotNetZip استفاده کنید. برای دانلود کتابخانه ی DotNetZip اینجا را کلیک کنید.
پس از آن کد زیر را به بالای کدهای برنامه تون اضافه کنین:
using Ionic.Zip;
zip کردن فایل و فولدر:
کد ساده zip کردن به صورت زیر می باشد:
{
zip.AddFile("c:\\ReadMe.txt");
zip.AddFile("c:\\Resume.doc");
zip.AddFile("c:\\Portrait.png");
zip.Save("c:\\Package.zip");
}
برای افزودن یک پسورد یکسان برای تمامی فایلها از کد زیر استفاده کنید:
{
zip.Password= "123456!";
zip.AddFile("ReadMe.txt");
zip.AddFile("7440-N49th.png");
zip.AddFile("2005_Annual_Report.pdf");
zip.Save("Backup.zip");
}
برای گذاشتن پسورد متفاوت برای فایل های متفاوت از کد زیر استفاده کنید:
{
zip.AddFile("ReadMe.txt"); // no password for this one
zip.Password= "123456!";
zip.AddFile("7440-N49th.png");
zip.Password= "!Secret1";
zip.AddFile("2005_Annual_Report.pdf");
zip.Save("Backup.zip");
}
افزودن کامنت به فایل zip:
using (ZipFile zip = new ZipFile())
{
zip.UseUnicode= true; // utf-8
zip.AddDirectory(@"MyDocuments\ProjectX");
zip.Comment = "این فایل فشرده زیپ در این تاریخ ایجاد شده: " + System.DateTime.Now.ToString("G") ;
zip.Save(ZipFileToCreate);
}
برای حذف یک فایل :
{
// use the indexer to remove the file from the zip archive
zip["Readme.txt"] = null;
zip.Comment = "This archive has been modified from its original version. Some files have been removed.";
zip.Save();
}
برای extract کردن می توانید از کد زیر استفاده کنید:
{
foreach (ZipEntry d in zip)
{
d.Extract("c:\\folder1");
}
}
extract کردن فایلی که دارای پسورد می باشد:
{
ZipEntry e = zip["TaxInformation-2008.xls"];
e.ExtractWithPassword("c:\\folder1", "123456");
}
کد زیر برای بازکردن یک فایل فشرده از قبل ایجاد شده و حذف یک آیتم آن و rename یک آیتم و آپدیت کامنت آن است:
{
ZipEntry e = zip["README.txt"];
e.RemoveEntry();
// update the filename of an entry
e = zip["Table1.jpg"];
e.FileName = "Figure1.jpg";
zip.Comment = "This zip archive was updated " + System.DateTime.ToString("G");
zip.Save();
}
برای اطلاعات بیشتر این لینک و این لینک را مشاهده کنید.
همچنین می توانید فیلم آموزشی مربوط به zip کردن رو هم مشاهده کنید:
همچنین می توانید از کدهای زیر استفاده کنید: