اکسترکت کردن فایل Rar در سی شارپ
سلام
توی سی شارپ چجوری میشه فایل Rar رو اکسترکت کرد؟ فایل zip منظورم نیست
یعنی کتابخونه و یا کلاس خوب برای این کار چیه؟
با Unrar.dll نتونیتم کار کنم (توی سی شارپ مبتدی ام) ولی یه dll دیگه گیر آوردم بنام NUnrar از اینجا که راحت تر بود :
https://nunrar.codeplex.com/
ولی هر چی گشتم نتونستم گزینه ای پیدا کنم که پسورد فایل rar (برای فایل های rar ای که پسورد دارن) رو بدم تا اکسترکت کنه و هر چی میگردم انگار نیست!! و دوم اینکه پروپرتی Entries در کلاس RarArchive ، کلاس RarArchiveEntry رو برمیگردونه . خوب در این صورت باید کد زیر درست باشه دیگه :
RarArchive myArchive = RarArchive.Open(@"C:\Users\SoomSaj\Desktop\New folder\01_Simulation&Export.rar");
RarArchiveEntry myEntery = myArchive.Entries;
ولی نمیدونم چرا اشتباه میگه هست!! باید حتما توی حلقه ی foreach بکار بره تا جواب بده! :
RarArchive myArchive = RarArchive.Open(@"C:\Users\SoomSaj\Desktop\New folder\01_Simulation&Export.rar");
foreach (RarArchiveEntry item in myArchive.Entries)
{
item.WriteToFile(@"C:\Users\SoomSaj\Desktop\New folder\extracted.wmv");
}
دلیل اینکه توی حلقه ی foreach باید حتما باشه تا جواب بده چیه؟
جواب سئوال قسمت پسورد شو میدونین؟ یا اینکه با کمپوننت یا dll دیگه ای کار کردین که این مشکل پسورد رو نداشته باشه و کار کردن باهاش هم سخت نباشه؟
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
سلام دوست من وقتت بخیر ، دوست من شما میتونی بری از سایت NuGet و DotnetZip رو دانلود و نصب کنی و در محیط کدنویسی در قسمت using ها using Ionic.Zip رو اضافه کن ( هم فایل zip و هم فایل rar رو میخونه ) و برای zip یا rar کردن فایل موردنظرت اینو بنویس به عنوان مثال داخل منترل Buton این کد رو مینویسی
using (ZipFile zip = new ZipFile())
{
zip.AddDirectory(@"D:\Test");
zip.Save(@"D:\Test.zip");
/////// یا
zip.Save(@"D:\Test.rar");
}
و برای Extract کردن اون هم
using (ZipFile zip = ZipFile.Read(@"D:\test1.rar"))
{
foreach (var a in zip)
{
a.Extract(@"آدرس محلی که فایل ها درون اکسترکت میشن");
}
}
سوالی داشتی جواب میدم
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
نقل قول:
نوشته شده توسط
mrprestige
سلام دوست من وقتت بخیر ، دوست من شما میتونی بری از سایت NuGet و DotnetZip رو دانلود و نصب کنی و در محیط کدنویسی در قسمت using ها using Ionic.Zip رو اضافه کن ( هم فایل zip و هم فایل rar رو میخونه ) و برای zip یا rar کردن فایل موردنظرت اینو بنویس به عنوان مثال داخل منترل Buton این کد رو مینویسی
using (ZipFile zip = new ZipFile())
{
zip.AddDirectory(@"D:\Test");
zip.Save(@"D:\Test.zip");
/////// یا
zip.Save(@"D:\Test.rar");
}
و برای Extract کردن اون هم
using (ZipFile zip = ZipFile.Read(@"D:\test1.rar"))
{
foreach (var a in zip)
{
a.Extract(@"آدرس محلی که فایل ها درون اکسترکت میشن");
}
}
سوالی داشتی جواب میدم
ممنون
ولی این dll برای کار با فایل rar نیست . برای zip هست انگار . دانلود کردم و کد زیر رو همونطور که گفتی ، نوشتم :
using (ZipFile zip = ZipFile.Read(@"C:\Users\SoomSaj\Desktop\New folder\01_Simulation&Export.rar"))
{
foreach (var item in zip)
{
item.Extract();
}
}
ولی خطا داد که نمیتونه فایل zip رو هندل کنه (احتمالا بخاطر اینکه فایل rar رو دادم گفت)
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
پکیج NUnrar فایلهای دارای پسورد رو نمیتونه از حالت فشرده خارج کنه. از پکیج SharpCompress میتونید استفاده کنید.
به نوع Entries توجه کنید، Entries مجموعه ای از RarArchiveEntry هست.
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
ممنون دوستان
من کد Unrar.dll رو دارم تقریبا اما چون فایل اش Native هه ، add to reference نمیشه . انگار با روش دیگه ای باید add to reference کرد که بلد نیستم. راهنمایی میکنین add to reference اش چجوری هه؟؟ :
http://www.rarlab.com/rar/UnRARDLL.exe
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
پکیج NUnrar فایلهای داراری پسورد رو نمیتونه از حالت فشرده خارج کنه. از پکیج SharpCompress میتونید استفاده کنید.
به نوع Entries توجه کنید، Entries مجموعه ای از RarArchiveEntry هست.
ممنون
اینم تست کردم ، گزینه ای برای وارد کردن پسورد نداشت. اگه میدونین ، راهنمایی کنین ممنون میشم
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
RarArchive archive = RarArchive.Open("File Path", Options.None, "Password");
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
RarArchive archive = RarArchive.Open("File Path", Options.None, "Password");
ممنون
این کد رو خودتون تست کردین؟
آخه متد open ، اصلا 3 تا آرگومان نمیگیره . حداکثر دو تا آرگومان میگیره
منظور من این مسیره از متد open هه :
SharpCompress.Archive.Rar.RarArchive.Open
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
اگر از codeplex دانلود کردید، ورژن قدیمی هست و آپدیت نمیشه و برنامه نویسش توسعه این پروژه رو به github منتقل کرده
https://github.com/adamhathcock/sharpcompress
از nuget بگیرید میتونید همیشه به آخرین نسخه آپدیت کنید.
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
ممنون
ولی این پروژه فایل dll نداره!!
میگین کدوم فایل برای کار من (اکسترکت کردن فایل رار) مورد نیاز هه تا به پروژه ام پیوست کنم؟
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
میتونید از اون آدرس کل پروژه رو دانلود و کامپایل کنید و از dll بدست آمده استفاده کنید
یا اینکه از طریق nuget package manager پکیج SharpCompress رو دانلود کنید.
https://www.nuget.org/packages/sharpcompress
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
دوستان از کمک تون ممنونم
درست شد
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
سلام ببخشید میخواستم با استفاده از
پکیج sharpcompress که تونستم فایل dll اش رو
پیدا کنم فایل rar دارای
پسورد رو اکسترکت کنم ولی متاسفانه کدش رو ندارم میتونین کمکم کنین؟ با تشکر
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
نقل قول:
نوشته شده توسط
AMIRREZAAAA
سلام ببخشید میخواستم با استفاده از
پکیج sharpcompress که تونستم فایل dll اش رو
پیدا کنم فایل rar دارای
پسورد رو اکسترکت کنم ولی متاسفانه کدش رو ندارم میتونین کمکم کنین؟ با تشکر
https://github.com/adamhathcock/shar...i/API-Examples
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
با تشکرد از ادمین ولی هر کدی میزنم با اینکه همه کتابخونه ها رو رفرنس کردم ولی فایل رمز دار رو باز نمیکنه میتونین این کدش رو بدین
نقل قول: اکسترکت کردن فایل Rar در سی شارپ
نقل قول:
نوشته شده توسط
AMIRREZAAAA
با تشکرد از ادمین ولی هر کدی میزنم با اینکه همه کتابخونه ها رو رفرنس کردم ولی فایل رمز دار رو باز نمیکنه میتونین این کدش رو بدین
کد من و دیگری نداره. من هم بنویسم همون کد خواهد بود.
اگر خطا دارید متن خطا بزارید.