-
1 ضمیمه
ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
امروز به کلاسی برخوردم که خیلی جالب بود و تمامی زیان ها هم میتونن ازش استفاده کنند و در ضمن مثال هم داره که چجوری میشه ازش استفاده کرد گفتم بزارم اینجا تا بقیه هم بتونن استفاده کنند ... :چشمک:
فشرده سازی و استخراج (Zip & Unzip) فایل ها و فولدر ها همواره مورد نظر توسعه گران نرم افزار بوده است. نوشتن یک کتابخانه قدرتمند جهت انجام اعمال پیشرفته فشرده سازی با استفاده از توابع و کلاس های پایه DotNet Framework کار بسیار وقت گیر و نه چندان ساده ای می باشد.
در حال حاضر کتابخانه های قدرتمندی از جمله SharpZipLib و GZipStream وجود دارند که می توان از آن ها جهت رفع این مشکل استفاده نمود. ولی در این مقاله قصد دارم به معرفی کتابخانه DotNetZip بپردازم. این کتابخانه به صورت متن باز و همراه با مثال ها و مستندات مربوطه از اینجا قابل دریافت می باشد.
کتابخانه DotNetZip بسیار قدرتمند و آسان جهت استفاده می باشد. ضمنا این کتابخانه علاوه بر استفاده در برنامه های تحت ویندوز و وب، قابلیت استفاده در برنامه های موبایل (Compact Framework) را نیز دارد.
منبع : CSharp.com
مثال C# :
به طور مثال در قطعه کد زیر، ما فولدری به نام MyFolder را فشرده نموده و با نام MyFolder.zip ذخیره نموده ایم
using System.Windows.Forms;
using Ionic.Zip;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private void Form1_Load(object sender, EventArgs e)
{
using (ZipFile zip = new ZipFile())
{
zip.AddDirectory(@"D:\MyFolder");
zip.Save(@"D:\MyFolder.zip");
}
}
}
}
همانطور که ملاحظه می نمایید، این عمل به ساده ترین شکل ممکن انجام پذیرفته است.
خوب مثال بالا سادست و نیاز به توضیح نداره هرچند که مثال های کامل تر هم توی فایل اصلیش هستش ... ولی باز این هم نمونه میزارم : VB.net
Vb.net :
Imports Ionic.Zip
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Using Ziper As ZipFile = New ZipFile
Ziper.AddDirectory("آدرس فایل و یا پوشه مورد نظر")
Ziper.Save("آدرس محل ذخیره سازی فایل ")
End Using
End Sub
End Class
حجم فایل بالا هم با تمام مثال ها برای همه زبان ها حدود 7 mg هستش ! ولی فایل Dll رو هم برای کسایی که سرعتشون کمه ضمیمه کردم ! البته لازم هم نیست اونو دانلود کنید با این مثال ها و فایل کارتون راه میفته!
نظر بدین بازم دارما !!!
موفق باشین ...
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
یه سری مثال هم برای کار با این فایل براتون آماده کردم ...
یادم نره از کاراییش بگم که واقعا حرف نداره و امکانات زیادی هم داره از جمله :
ساختن فایل فشرده و گذاشتن رمز
باز کردن فایلهای فشرده و دادن رمز به اونها
امکان Update فایلها
امکان کنترل عملیات فشره سازی
ساخت فایل با هر پسوندی که دوست داشتی!
فشرده سازی به روش های مختلف مثلا WinZip-compatible
و ...
سوالی بود در خدمتم .
اضافه کردن آیتم
Try
Using zip As ZipFile = New ZipFile
zip.AddFile("c:\photos\personal\7440-N49th.png", "")
zip.AddFile("c:\Desktop\2005_Annual_Report.pdf", "")
zip.AddFile("ReadMe.txt")
zip.Save("MyZipFile.zip")
End Using
Catch ex1 As Exception
Console.Error.WriteLine("exception: {0}", ex1.ToString)
End Try
Extract items from a zip file:
Try
Using zip As ZipFile = ZipFile.Read(ZipFileToExtract)
Dim e As ZipEntry
For Each e In zip
e.Extract
Next
End Using
Catch ex1 As Exception
Console.Error.WriteLine("exception: {0}", ex1.ToString)
End Try
Extract all entries, and set the StatusMessageTextWriter so that verbose messages are generated:
Using zip As ZipFile = ZipFile.Read(FilePath)
zip.StatusMessageTextWriter= System.Console.Out
'Status Messages will be sent to the console during extraction
zip.ExtractAll()
End Using
Create a Zip, entries get passwords:
Try
Using zip As New ZipFile
'the first entry is not protected by a password
zip.AddFile("c:\datafiles\ReadMe.txt", "")
zip.Password = "123456!"
zip.AddFile("c:\photos\personal\7440-N49th.png", "images")
zip.Password= "!Secret1";
zip.AddFile("c:\Desktop\2005_Annual_Report.pdf", "files\documents")
zip.Save("Secret.zip")
End Using
Catch ex1 As System.Exception
System.Console.Error.WriteLine("exception: {0}", ex1)
End Try
Add a few files to a zip file, using WinZip-compatible AES encryption on the entries:
Try
Using zip As New ZipFile
zip.Password = "The.Silvertones.Box.Set!"
zip.Encryption = EncryptionAlgorithm.WinZipAes256
zip.AddFile("c:\datafiles\RawData-2008-12-20.csv", "")
zip.AddFile("c:\photos\personal\7440-N49th.png", "images")
zip.AddFile("c:\Desktop\2005_Annual_Report.pdf", "files\documents")
zip.Save("AES-Encrypted-Secret.zip")
End Using
Catch ex1 As System.Exception
System.Console.Error.WriteLine("exception: {0}", ex1)
End Try
Extract entries using a password:
Using zip As new ZipFile(FilePath)
Dim e As ZipEntry
For Each e In zip
If (e.UsesEncryption)
e.ExtractWithPassword("Secret!")
Else
e.Extract
End If
Next
End Using
ادامه دارد ......
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
علیرضا
دستت درد نکنه ، مطلب جالبی بود ، بازم از این کارا بکن :تشویق:
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
ادامه مثال ها : 2 :
This example creates a zip using ZIP64 extensions. ZIP64 allows you to exceed 4gb in a zip, or 65535 entries in a zip.
Try
Using zip As ZipFile = New ZipFile
zip.UseZip64WhenSaving = Zip64Option.AsNecessary
zip.AddFile("c:\datafiles\RawData-2009-02-12.csv", "")
zip.AddFile("ReadMe.txt")
zip.Save(String.Format("backup-{0}.zip", DateTime.Now.ToString("yyyyMMMdd")))
End Using
Catch ex1 As Exception
Console.Error.WriteLine("exception: {0}", ex1.ToString)
End Try
Create a zip file, add a file, and also add an entry from a string. When the zip is unzipped, the content from the string will be inserted into the file "Readme.txt".
Dim Content As String = "This string will be the content of the Readme.txt file in the zip archive."
Using zip1 As ZipFile = New ZipFile
zip1.AddEntry("Readme.txt", "This is the readme content...")
zip1.AddFile("MyDocuments\Resume.doc", "files")
zip1.Comment = ("This zip file was created at " & DateTime.Now.ToString("G"))
zip1.Save("Content.zip")
End Using
Create a zip file, and add an entry taking content from a stream, like a MemoryStream or a FileStream.
Dim Content As String = "This string will be the content of the Readme.txt file in the zip archive."
Using zip1 As ZipFile = New ZipFile
zip1.AddEntry("Readme.txt", stream)
zip1.AddFile("MyDocuments\Resume.doc", "files")
zip1.Comment = ("This zip file was created at " & DateTime.Now.ToString("G"))
zip1.Save("Content.zip")
End Using
Read in a zip file, remove a few entries, save the file:
Dim sw As New System.IO.StringWriter
Using zip As ZipFile = ZipFile.Read("PackedDocuments.zip", sw)
Dim Threshold As New DateTime(2007, 7, 4)
' We cannot remove the entry from the list, within the context of
' an enumeration of said list.
' So we add the doomed entry to a list to be removed later.
' pass 1: mark the entries for removal
Dim MarkedEntries As New System.Collections.Generic.List(Of ZipEntry)
Dim e As ZipEntry
For Each e In zip
If (e.LastModified < Threshold) Then
MarkedEntries.Add(e)
End If
Next
' pass 2: actually remove the entry.
Dim zombie As ZipEntry
For Each zombie In MarkedEntries
zip.RemoveEntry(zombie)
Next
zip.Comment = "This archive has been updated."
zip.Save
End Using
Add a bunch of items, whether files or directories:
Dim itempaths As String() = _
New String() { "c:\temp\Readme.txt", _
"MyProposal.docx", _
"SupportingFiles", _
"images\Image1.jpg" }
Try
Using zip As New ZipFile(ZipToCreate, Console.Out)
Dim i As Integer
For i = 1 To itempaths.Length - 1
' will add Files or Dirs, recursing and flattening subdirectories.
zip.AddItem(itempaths(i), "flat")
Next i
zip.Save
End Using
Catch ex1 As Exception
Console.Error.WriteLine("exception: {0}", ex1.ToString())
End Try
ادامه دارد ...
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
Create a self-extracting archive:
Dim DirectoryPath As String = "c:\Documents\Project7"
Using zip As New ZipFile()
zip.AddDirectory(DirectoryPath, System.IO.Path.GetFileName(DirectoryPath))
zip.Comment = "This will be embedded into a self-extracting console-based exe"
zip.SaveSelfExtractor("archive.exe", SelfExtractorFlavor.ConsoleApplication)
End Using
Update some entries in a Zip file:
Using zip1 As New ZipFile
' the UpdateFile method works even if the entry does not yet exist.
' Really it should be called "AddOrUpdateFile"
zip1.UpdateFile("MyDocuments\Readme.txt", "")
zip1.UpdateFile("CustomerList.csv", "")
zip1.Comment = "This zip archive has been created."
zip1.Save("Content.zip")
End Using
Using zip2 As ZipFile = ZipFile.Read("Content.zip")
zip2.UpdateFile("Updates\Readme.txt", "")
zip2.Comment = "This zip archive has been updated: the Readme has been changed."
zip2.Save
End Using
Produce a zip file that contains embedded zip files
Public Sub Run()
Using s1 As Stream = ZipIntoMemory("c:\temp\dir1")
Using s2 As Stream = ZipIntoMemory("c:\temp\dir2")
Using zip1 as New ZipFile
zip1.AddEntry("test1.zip", s1)
zip1.AddEntry("test2.zip", s2)
' save to a file. Could also save to a stream here
zip1.Save("Tescher.zip")
End Using
End Using
End Using
End Sub
Public Function ZipIntoMemory(ByVal path As String) As Stream
Dim ms As New MemoryStream
Using zip1 as New ZipFile
zip1.AddDirectory(path, "Result")
zip1.Save(ms)
End Using
' move the stream position to the beginning
ms.Seek(0,SeekOrigin.Begin)
Return ms
End Function
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
اگر کسی مثال برای زبان های دیگه برنامه نویسی هم احتیاج داشت بگه براش بزارم :
C#
Vb.Net
ASP.NET
Powershell
Com, ASP,PHP,VB6,Java
C++/CLI
موفق باشین !!:چشمک:
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
لطف میکنید با C# هم مثال بگذارید؟!
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
اینم مثال C# :
Create a zip file, and add items to it
using (ZipFile zip = new ZipFile())
{
zip.AddFile("ReadMe.txt");
zip.AddFile("Resume.doc");
zip.AddFile("Portrait.png");
zip.Save("Package.zip");
}
Add items to a zip file, using Zip 2.0 encryption, and the same password for all items.
using (ZipFile zip = new ZipFile())
{
zip.Password= "123456!";
zip.AddFile("ReadMe.txt");
zip.AddFile("7440-N49th.png");
zip.AddFile("2005_Annual_Report.pdf");
zip.Save("Backup.zip");
}
Add files to a zip file, using Zip 2.0 encryption, and different passwords for different files.
using (ZipFile zip = new ZipFile())
{
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");
}
Create a zip archive, and add files to it, using WinZip-compatible AES 256-bit encryption for one of the files.
using (ZipFile zip = new ZipFile())
{
zip.AddFile("ReadMe.txt"); // no password for this one
zip.Password= "Cool.Hand.Luke!";
zip.Encryption= EncryptionAlgorithm.WinZipAes256;
zip.AddFile("Rawdata-2008-12-18.csv");
zip.Save("Backup-AES-Encrypted.zip");
}
No Compression
using (ZipFile zip = new ZipFile())
{
zip.ForceNoCompression = true;
zip.AddFile(@"MyMusic\Handel\Messiah-01.mp3");
zip.Save(ZipFileToCreate);
}
Zip a directory
using (ZipFile zip = new ZipFile())
{
zip.UseUnicode= true; // utf-8
zip.AddDirectory(@"MyDocuments\ProjectX");
zip.Comment = "This zip was created at " + System.DateTime.Now.ToString("G") ;
zip.Save(ZipFileToCreate);
}
Zip a directory 2
using (ZipFile zip = new ZipFile())
{
zip.Encoding = System.Text.Encoding.GetEncoding("big5"); // chinese
zip.AddDirectory(@"MyDocuments\ProjectX");
zip.Save(ZipFileToCreate);
}
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
متاسفانه اين لايبراري با يونيكد مشكل داره و با اينكه تو سازنده كلاسش براش UTF-8 رو مشخص ميكنم ولي توي فايل zip بجاي حروف فارسي، علامت سوال يا حروف نامشخص ميزاره.
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
مشکل احتمالا از جای دیگست !!!
من خودم از این کامپوننت استفاده میکنم هر توی برنامه هایی به زبان فارسی و انگلیسی ...
حتی یکی از برنامه هام که مولتی Language هم نوشته شده ... رو ساپورت میکنه ! :متفکر:
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
شما از چه نسخه اي استفاده مي كنيد؟
من از نسخه 1.9.1.5 استفاده مي كنم.
تو اين نسخه امكان خوندن اطلاعات از استريم و نوشتن در استريم وجود داره.
يعني من از يه سري فايل كه پسوند خاصي نداره و اسمش توي ديتابيس ثبت شده، ميخونم و اسماشونو ست ميكنم و در نهايت فايل زيپ رو توي استريمي كه به سمت كلاينت به عنوان Response برمي گرده، مي فرستم.
ولي فقط نام هاي انگليسي درسته و نام هاي فارسي با اينكه انكودينگ فايل زيپ رو به تمامي موارد ممكن تغيير دادم، هر دفعه يك جور نوشته ميشه.
لطفا يك تست كوچيك بفرماييد.
ممنون
-
1 ضمیمه
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
خوب این کار خیلی سادست ...
یه نمونه با VS 2010 نوشتم که ضمیمه کردم .... میتونی ببینی که داره راحت نام های فارسی رو هم ذخیره میکنه .....
کدشو هم میزارم شاید کسی باشه Vs 2010 نداشته باشه ...
Imports Ionic.Zip
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Using ziper As ZipFile = New ZipFile
ziper.ProvisionalAlternateEncoding = System.Text.Encoding.UTF8
ziper.AddEntry(Label1.Text, 256)
ziper.AddEntry(Label2.Text, 256)
ziper.AddEntry(Label3.Text, 256)
ziper.AddEntry(Label4.Text, 256)
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
ziper.Save(SaveFileDialog1.FileName)
End If
End Using
End Sub
End Class
4 تا لیبل هست اینجا که تکسته 2 تاشون فارسیه ...
بازم کاری بود در خدمتم !
فایل ضمیمرو یه نگاه بنداز!
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
ممنون از زحمت شما
من توی وب دارم استفاده میکنم و هر کاری می کنم به هیچ صراطی مستقیم نیست :عصبانی++:
حالا سر فرصت تو یه پروژه جدید تست میکنم ببینم چی میشه و نتیجه رو اینجا مینویسم.
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوشته شده توسط
bahman_akbarzadeh
ممنون از زحمت شما
من توی وب دارم استفاده میکنم و هر کاری می کنم به هیچ صراطی مستقیم نیست :عصبانی++:
حالا سر فرصت تو یه پروژه جدید تست میکنم ببینم چی میشه و نتیجه رو اینجا مینویسم.
توی web هم میتونی از utf8 استفاده کنی هم Unicode ... اون کدی که گذاشتمو ببینی شاید مشکلت حل شه ... به عدد 256 هم دقت کن اگه روی 1 و 2 بزاریش کار نمیکنه !
بازم کاری بود در خدمتم ...
در ضمن ممنون میشم اگه به جای پست دادن برای تشکر از امکانات سایت استفاده کنین. :لبخندساده:
موفق باشید
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
با 256 خطا میده
چون تو ورژن 1.9.1.5 همچین آور لودی نداره.
ورژن شما چنده؟
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
ورژن من هم 1915 هست ...
برنامه ضمیمرو دانلود کن ... توش همین کارو کردم .:افسرده:
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
من این فایل رو دانلود کردم و ازش استفاده کردم.
کار کردن باهاش خیلی راحته.
ولی اصلا کیفیت فشرده سازی خوبی نداره
من یک فایل 13MB رو با WiniRAR ,WINZIP ,این کامپونینت فشرده کردم نتایج جالبی بدست آمد
WinRAR : 1.43 MB
WinZIP : 1.64 MB
Ionic.Zip.dll: 5.27 MB
در کل این کامپونینت قدرت فشرده سازی کمی داره و زیاد جالب نیست
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
این کامپونت از روش فشرده سازی ویندوز استفاده میکرد که الان به صورت پیش فرض هستش ولی میتونید نوع های جدید که توی این ورژن ازافه شده رو هم استفاده کنید تا حجم کمتر شه ... توی یه مثال قبلا نوشتم ...
اگه هم فایل کلی کامپوننت رو دانلود کنید توی Help توضیحات داره ...
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوع های جدید که توی این ورژن ازافه شده رو هم استفاده کنید تا حجم کمتر شه
خوب این خیلی خوبه. چون هم راحته و مهمتر از همه رایگانه
بیشتر کامپونینتهای تو اینترنت همه پولی بودن مخصوصا RAR ، اصلا کرک هم ندارن
نقل قول:
توی یه مثال قبلا نوشتم ...
اگر میشه اون مثال رو همیجا ذکر کنید تا بحث کاملتر بشه
نقل قول:
اگه هم فایل کلی کامپوننت رو دانلود کنید توی Help توضیحات داره ...
Help کجاست؟
من تو این تایپک فقط فایل Dll رو دیدم.
لطفا لینکش رو بدید
با تشکر
-
5 ضمیمه
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
سلام
از اینکه دیر جواب دادم معذرت میخوام .... این هم Help ....
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
خیلی قدیمی بود.
ممنون از جوابتون ! :اشتباه:
ولی اگه قدیمی بود و شما خیلی وقته که این کنترل رو میشناختین !!!!!!!!! حداقل یه معرفی یک سطری لطف میکردین و تو سایت برای بقیه میزاشتین, امثال من حفیر وقت شمارو با موضوع های قدیمی نمیگرفتیم !
از اینکه این مطلب وقتتونو گرفت و مطالعه کردید عذر میخوام .
نکته : این Dll سال 2006 ساخته شده و این ورژن که اینجا موجود هست Release 2010 هستش ...
موفق باشید !
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
آقا این برنامه بسیار جالبیه
کار باشم ساده است کافی اون دی ال الی رو که مهندس داد اد کنی
ولی !
هرکار می کنم پس نمی زاره؟!!!!!!!!!!!!!!!!!!
یعنی وین رر مثه مرد بازش می کنه پسم نیمی خواد اکسترکت هم می کنه!
جریان چیه
مشکل از کجاست
من دی ال ال رو گزاشتم تو پوشه برنامه ریفرنس دادم
همین!
-
1 ضمیمه
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوشته شده توسط
nima178
آقا این برنامه بسیار جالبیه
کار باشم ساده است کافی اون دی ال الی رو که مهندس داد اد کنی
ولی !
هرکار می کنم پس نمی زاره؟!!!!!!!!!!!!!!!!!!
یعنی وین رر مثه مرد بازش می کنه پسم نیمی خواد اکسترکت هم می کنه!
جریان چیه
مشکل از کجاست
من دی ال ال رو گزاشتم تو پوشه برنامه ریفرنس دادم
همین!
سلام توی مثال ها براتون نحوه این کار رو گذاشته بودم !!
این هم یه پروژه کوچیک برای روشن شدن مسئله !
موفق باشید
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
سلام تو همه پست ها كه خوندم تو همشون فشرده كردن بود
من يه فايل zip معمولي با پسورد دارم چه جوري اين فايل رو از حالت فشرده خارج كنم؟
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوشته شده توسط
ebrahimv
سلام تو همه پست ها كه خوندم تو همشون فشرده كردن بود
من يه فايل zip معمولي با پسورد دارم چه جوري اين فايل رو از حالت فشرده خارج كنم؟
Extract entries using a password:
Using zip As new ZipFile(FilePath)
Dim e As ZipEntry
For Each e In zip
If (e.UsesEncryption)
e.ExtractWithPassword("Secret!")
Else
e.Extract
End If
Next
End Using
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوشته شده توسط
Alirezanet
Extract entries using a password:
Using zip As new ZipFile(FilePath)
Dim e As ZipEntry
For Each e In zip
If (e.UsesEncryption)
e.ExtractWithPassword("Secret!")
Else
e.Extract
End If
Next
End Using
اين فايل كجا UNzip ميشه؟
ميشه توضيح بدي
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوشته شده توسط
ebrahimv
اين فايل كجا UNzip ميشه؟
ميشه توضيح بدي
خوب مثال گویاست !
وقتی توی Objectی که از zipfile گرفتی (e) از Extract استفاده کنی میتونی با متد Save اون فایل هارو ذخیره کنی هر جا خواستی .
وقتی شما extract میکنی یه فایل فشرده رو توی حافظه موقت سیستم (برنامه ) میمونه ! که میتونی از اونجا هر بلایی خواستی سرشون بیاری ! مثلا Save کنی یا با یه For فایلهارو بخونی و توی برنامه نشون بدی!
Using zip As new ZipFile(FilePath)
Dim e As ZipEntry
For Each e In zip
If (e.UsesEncryption)
e.ExtractWithPassword("Secret!")
Else
e.Extract
End If
Next
e.Save(هرجا دلت خواست)!!
End Using
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوشته شده توسط
Alirezanet
خوب مثال گویاست !
وقتی توی Objectی که از zipfile گرفتی (e) از Extract استفاده کنی میتونی با متد Save اون فایل هارو ذخیره کنی هر جا خواستی .
وقتی شما extract میکنی یه فایل فشرده رو توی حافظه موقت سیستم (برنامه ) میمونه ! که میتونی از اونجا هر بلایی خواستی سرشون بیاری ! مثلا Save کنی یا با یه For فایلهارو بخونی و توی برنامه نشون بدی!
Using zip As new ZipFile(FilePath)
Dim e As ZipEntry
For Each e In zip
If (e.UsesEncryption)
e.ExtractWithPassword("Secret!")
Else
e.Extract
End If
Next
e.Save(هرجا دلت خواست)!!
End Using
ابجكت e كه درست كردي گزينه save نداره
ميشه يه نمونه برنامه درست كني ممنون ميشم
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
ممنون كدش رو يكي از دوسان برام پيدا كرد درست عمل ميكنه
Using Ziper As ZipFile = ZipFile.Read("Source")
Ziper.Password = "1234"
Ziper.ExtractAll("Address", Ionic.Zip.ExtractExistingFileAction.OverwriteSilen tly)
End Using
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
این کد هم درسته ! کد اول هم کار میکنه ولی نه با تمام فایلهای فشره ! winrar یک نوع encoding داره که حتی winzip هم نمیتونه اون رو بخونه !
با کدی که اول براتون گذاشتم میشه extract کرد ولی فایلهایی که از نوع خاص rar نباشند !
موفق باشید
-
1 ضمیمه
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
آقا این سورس اون کدی که گفتم کار نمی کنه
ظاهرا پسورد می زاره
هیچ اروری نمی ده
اما وین رر بازش می کنه پسوردم نمی خواد
میگید نه تستش کنید
فرم 2 کدشو ببنید
شایدم من جایی رو اشتباه می کنم
:متفکر:
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
سلام کد فرم 2تون رودیدم : اینجوری بنویسش دقیق :
تست کردم کار هم کرد !
Using MyRar As New Ionic.Zip.ZipFile
MyRar.Password = "12345"
MyRar.AddFile("mytemp.txt")
MyRar.Save("mytemp.rar")
End Using
ترتیب توی این کلاس مهمه :متفکر:
شما اول فایل رو Add میکردید بعد پسسوورد میذاشتید !
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
ای ول
حالا درست شد!
ای ول!
جالبه
نمی دونم سری اول چرا هرکاری کردم پس نمی زاشت!
با وجود اینکه ظاهرا همه چیز رو رعایت کردم!
شاید رفرنس درستی ندادم!
الان فرم یک همون فایل رو ببنید رویداد باتن 2 درست کار می کنه تازه تو یک فایل دو تا پس می زاره
در هر صورت من عجله کردم
اما مثال بالا مثال خوبیه
با کمی تغییرات!
در هر صورت دمه شما گرم
اگرچه دکمه تشکر بود ولی کفایت نمی کرد!
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
سلام و ممنون بابت ارسال مفیدتون
یه سوال دارم برای استفاده از این برنامه اون(DLL) رو تو محل اجرا کپی میکنه راهی است این کار رو نکنه و مثل بقیه توابع ازش استفاده کرد
ممنون
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوشته شده توسط
hosein13734
سلام و ممنون بابت ارسال مفیدتون
یه سوال دارم برای استفاده از این برنامه اون(DLL) رو تو محل اجرا کپی میکنه راهی است این کار رو نکنه و مثل بقیه توابع ازش استفاده کرد
ممنون
شما میتونید در انتهای کار پروژتون رو Publish کنید و یا Setup بسازید براش یا توی Exe برنامه Incloud کنیدش !
در هر هر صورت باید وجود داشته باشه ولی کجا ! به شما بستگی داره !
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوشته شده توسط
Alirezanet
اگر کسی مثال برای زبان های دیگه برنامه نویسی هم احتیاج داشت بگه براش بزارم :
C#
Vb.Net
ASP.NET
Powershell
Com, ASP,PHP,VB6,Java
C++/CLI
موفق باشین !!:چشمک:
دوست عزیز پس چرا آنزیپ کردن فایلها و فولدرها رو نذاشتی .اگه میتونی یه مثال برای این مورد در vb.net بذار.خیلی لازمه.راستی اون نمونه برنامه ای که برای فشرده سازی و خارج کردن اون گذاشتی باهاش نمی تونم کار کنم.از کدهاتم چیزی سردر نیاوردم آخه می دونی من تازه برنامه نویسی رو شروع کردم !من میخوام برنامه م جوری باشه که بازدن یک دکمه پنجره ی open باز بشه و هر فایل و یا فولدری که خواستم انتخاب کنم وبازدن ok اون فایلها تبدیل بشه و تو یه درایوی که می خوام ذخیره بشه و برای آنزیپ کردنش هم همینطور :یعنی هر فایل زیپی رو که انتخاب کردم به حالت عادی برگردد.اگه همینجوری تکه کدشو هم گذاشتی اشکال نداره.اگه میشه کمکم کن.مرسی.عجله هم دارم.
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوشته شده توسط
mahbobehshab
دوست عزیز پس چرا آنزیپ کردن فایلها و فولدرها رو نذاشتی .اگه میتونی یه مثال برای این مورد در vb.net بذار.خیلی لازمه.راستی اون نمونه برنامه ای که برای فشرده سازی و خارج کردن اون گذاشتی باهاش نمی تونم کار کنم.از کدهاتم چیزی سردر نیاوردم آخه می دونی من تازه برنامه نویسی رو شروع کردم !من میخوام برنامه م جوری باشه که بازدن یک دکمه پنجره ی open باز بشه و هر فایل و یا فولدری که خواستم انتخاب کنم وبازدن ok اون فایلها تبدیل بشه و تو یه درایوی که می خوام ذخیره بشه و برای آنزیپ کردنش هم همینطور :یعنی هر فایل زیپی رو که انتخاب کردم به حالت عادی برگردد.اگه همینجوری تکه کدشو هم گذاشتی اشکال نداره.اگه میشه کمکم کن.مرسی.عجله هم دارم.
سلام اگه به مثال ها توجه کنید چندین مورد برای Extract وجود داره ... یعنی همون (Unzip) ..... به طور مثال :
Extract items from a zip file:
Try
Using zip As ZipFile = ZipFile.Read(ZipFileToExtract)
Dim e As ZipEntry
For Each e In zip
e.Extract
Next
End Using
Catch ex1 As Exception
Console.Error.WriteLine("exception: {0}", ex1.ToString)
End Try
Extract all entries, and set the StatusMessageTextWriter so that verbose messages are generated:
Using zip As ZipFile = ZipFile.Read(FilePath)
zip.StatusMessageTextWriter= System.Console.Out
'Status Messages will be sent to the console during extraction
zip.ExtractAll()
End Using
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوشته شده توسط
Alirezanet
یه سری مثال هم برای کار با این فایل براتون آماده کردم ...
یادم نره از کاراییش بگم که واقعا حرف نداره و امکانات زیادی هم داره از جمله :
ساختن فایل فشرده و گذاشتن رمز
باز کردن فایلهای فشرده و دادن رمز به اونها
امکان Update فایلها
امکان کنترل عملیات فشره سازی
ساخت فایل با هر پسوندی که دوست داشتی!
فشرده سازی به روش های مختلف مثلا WinZip-compatible
و ...
سوالی بود در خدمتم .
اضافه کردن آیتم
Try
Using zip As ZipFile = New ZipFile
zip.AddFile("c:\photos\personal\7440-N49th.png", "")
zip.AddFile("c:\Desktop\2005_Annual_Report.pdf", "")
zip.AddFile("ReadMe.txt")
zip.Save("MyZipFile.zip")
End Using
Catch ex1 As Exception
Console.Error.WriteLine("exception: {0}", ex1.ToString)
End Try
Extract items from a zip file:
Try
Using zip As ZipFile = ZipFile.Read(ZipFileToExtract)
Dim e As ZipEntry
For Each e In zip
e.Extract
Next
End Using
Catch ex1 As Exception
Console.Error.WriteLine("exception: {0}", ex1.ToString)
End Try
Extract all entries, and set the StatusMessageTextWriter so that verbose messages are generated:
Using zip As ZipFile = ZipFile.Read(FilePath)
zip.StatusMessageTextWriter= System.Console.Out
'Status Messages will be sent to the console during extraction
zip.ExtractAll()
End Using
Create a Zip, entries get passwords:
Try
Using zip As New ZipFile
'the first entry is not protected by a password
zip.AddFile("c:\datafiles\ReadMe.txt", "")
zip.Password = "123456!"
zip.AddFile("c:\photos\personal\7440-N49th.png", "images")
zip.Password= "!Secret1";
zip.AddFile("c:\Desktop\2005_Annual_Report.pdf", "files\documents")
zip.Save("Secret.zip")
End Using
Catch ex1 As System.Exception
System.Console.Error.WriteLine("exception: {0}", ex1)
End Try
Add a few files to a zip file, using WinZip-compatible AES encryption on the entries:
Try
Using zip As New ZipFile
zip.Password = "The.Silvertones.Box.Set!"
zip.Encryption = EncryptionAlgorithm.WinZipAes256
zip.AddFile("c:\datafiles\RawData-2008-12-20.csv", "")
zip.AddFile("c:\photos\personal\7440-N49th.png", "images")
zip.AddFile("c:\Desktop\2005_Annual_Report.pdf", "files\documents")
zip.Save("AES-Encrypted-Secret.zip")
End Using
Catch ex1 As System.Exception
System.Console.Error.WriteLine("exception: {0}", ex1)
End Try
Extract entries using a password:
Using zip As new ZipFile(FilePath)
Dim e As ZipEntry
For Each e In zip
If (e.UsesEncryption)
e.ExtractWithPassword("Secret!")
Else
e.Extract
End If
Next
End Using
ادامه دارد ......
سلام
ببخشید این کدی که واسه ی فشرده سازی گذاشتید اولا فقط فایلها رو میتونه تبدیل کنه پس برای پوشه ها چی؟دوما:وقتی می خواد تبدیل کنه خطا میگیره که "خطا در بازیابی اطلاعات"هستش مشکلش چیه؟
سوال بعدیم هم اینه که تو اون نمونه برنامه ای گذاشتید وقتی می خوایم یه فایل رو برای فشرده کرده انتخاب کنیم فقط فایلهای زیپ رو میشناسه در صورتی که من میخوام هر نوع فایلی رو که خواستم فشرده کنه ؟واینکه تو این برنامه کجا مسیر ذخیره ی فایل فشرده رو باید بهش بدیم؟اگه میشه یه راهنما برای برنامه تون بذاریدیا خودتون همینجوری راهنمایی کنید.ممنون.هرچی سریعتر بهتر.
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوشته شده توسط
mahbobehshab
سلام
ببخشید این کدی که واسه ی فشرده سازی گذاشتید اولا فقط فایلها رو میتونه تبدیل کنه پس برای پوشه ها چی؟دوما:وقتی می خواد تبدیل کنه خطا میگیره که "خطا در بازیابی اطلاعات"هستش مشکلش چیه؟
سوال بعدیم هم اینه که تو اون نمونه برنامه ای گذاشتید وقتی می خوایم یه فایل رو برای فشرده کرده انتخاب کنیم فقط فایلهای زیپ رو میشناسه در صورتی که من میخوام هر نوع فایلی رو که خواستم فشرده کنه ؟واینکه تو این برنامه کجا مسیر ذخیره ی فایل فشرده رو باید بهش بدیم؟اگه میشه یه راهنما برای برنامه تون بذاریدیا خودتون همینجوری راهنمایی کنید.ممنون.هرچی سریعتر بهتر.
سلام عزیز یه کم دقت مشکلاتتون رو حل میکنه !!!!!!!!!!!!!!!!!!!!!!!
برای افزودن فایل AddFile و برای افزودن فولدر AddDirectory استفاده کنید !
راهنما هم توی پست اول این تاپیک گذاشتم فایل اصلی این کامپوننت رو اگه دانلود کنید توش Help داره !
یا علی
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوشته شده توسط
Alirezanet
سلام عزیز یه کم دقت مشکلاتتون رو حل میکنه !!!!!!!!!!!!!!!!!!!!!!!
برای افزودن فایل AddFile و برای افزودن فولدر AddDirectory استفاده کنید !
راهنما هم توی پست اول این تاپیک گذاشتم فایل اصلی این کامپوننت رو اگه دانلود کنید توش Help داره !
یا علی
آخه من همون مثال اولی که تو پست اول برای فشرده سازی فایل گذاشتید تو فرمم گذاشتم ولی همش خطا میگیره که خطاش هم اینه"خطا در بازیابی اطلاعات" نمی دونم چیکار کنم؟:عصبانی++:
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوشته شده توسط
mahbobehshab
آخه من همون مثال اولی که تو پست اول برای فشرده سازی فایل گذاشتید تو فرمم گذاشتم ولی همش خطا میگیره که خطاش هم اینه"خطا در بازیابی اطلاعات" نمی دونم چیکار کنم؟:عصبانی++:
دوست عزیز ببخشید من چندتاا سوال از محضرتون داشتم:
1-من از مثالهایی که برای دانلود گذاشته بودید استفاده کردم(وی بی دات نت):تو فرم فشرده سازی اطلاعات اولا که دکمه ای رو که برای انتخاب فایل برای فشرده سازی گذاشتید می زنم که فایل رو انتخاب کنم ولی بعد از زدن اکی مسیر فایل رو تو تکست باکس قرار نمیده؟
2-توی این فرم دکمه ای برای اینکه بخوایم مسیری رو برای ذخیره ی فایل فشرده انتخاب کنیم نذاشتید؟
3- حالا همه ی اینها به کنار:من یه مسیری رو خودم تو تکست باکسها از تو سیستمم قرار میدم ولی بعد از زدن دکمه زیپ ایت این پیغام رو مید: exception while zipping:bad directory.در حالیکه من هر مسیری که میدم همین خطارو میگیره.لطفا راهنماییم کنید.
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
نقل قول:
نوشته شده توسط
mahbobehshab
دوست عزیز ببخشید من چندتاا سوال از محضرتون داشتم:
1-من از مثالهایی که برای دانلود گذاشته بودید استفاده کردم(وی بی دات نت):تو فرم فشرده سازی اطلاعات اولا که دکمه ای رو که برای انتخاب فایل برای فشرده سازی گذاشتید می زنم که فایل رو انتخاب کنم ولی بعد از زدن اکی مسیر فایل رو تو تکست باکس قرار نمیده؟
2-توی این فرم دکمه ای برای اینکه بخوایم مسیری رو برای ذخیره ی فایل فشرده انتخاب کنیم نذاشتید؟
3- حالا همه ی اینها به کنار:من یه مسیری رو خودم تو تکست باکسها از تو سیستمم قرار میدم ولی بعد از زدن دکمه زیپ ایت این پیغام رو مید: exception while zipping:bad directory.در حالیکه من هر مسیری که میدم همین خطارو میگیره.لطفا راهنماییم کنید.
خواهش ميكنم جواب سوالمو بدين.شما كه اين همه زحمت كشيديد اين رو هم جواب بديد.(سوال بالا)وقت چنداني ندارم.ممنون
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
ایا می شود بدون بار کردن zip محتوای ان را خواند؟ با تشکر
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
سلام خیلی عالی بود فقط برای برعکسش چکارکنم.(تبدیل zip به پوشه عادی)
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
از تون تشكر ميشود اگر سورس همين برنامه را در c داريد براي من بفرستيد
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
سلام متاسفانه الان دسترسی به سورس مربوط به c ندارم ولی میتونید فایل اصلیش رو که توی پست 1 گذاشتم دانلود کنید . 1 فایل help داره که توش نمونه کد ها هست .
موفق باشید
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
اگه میشه به زبان C++ هم بزارید پروژه ی استادمانه گفته برنامه zip و unzip فایل های پیاده سازی کنیم فقط چند روز دیگه برای ارائش وقت دارم توخیلی سایت ها گشتم ولی خیلی گنگ بودن منم تازه کارم زیاد سردر نیاوردم یکم راهنماییم کنید خیلی دنبال اینجور مطلبی میگشتم اگه بزارید واقعا ممنون میشم:لبخندساده:
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
خواهش میکنم اگه امکانش براتان هست برنامه فشرده سازی (zip و unzip ) با هافمن را برایم بگذارید یا به زبان C++ یا جاوا خیلی ممنون میشم
-
نقل قول: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !
سلام من توی سی شارپ و البته تحت وب کد زیر و نوشتم .
using (ZipFile zip = new ZipFile())
{
zip.AddFile("SaateKari.pdf");
zip.AddFile("Vazayef.pdf");
zip.Save("~/AttachmentFile.zip");
}
و خطای زیر و میده
Could not find a part of the path 'C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\~\DotNetZip-oybf00ig.tmp'.