نمایش نتایج 1 تا 9 از 9

نام تاپیک: کد: Zip و UnZip کردن فایل

  1. #1
    کاربر دائمی آواتار Amir Taghavi
    تاریخ عضویت
    مهر 1384
    محل زندگی
    من از شهر عشقم ولی دلشکسته
    پست
    510

    Lightbulb کد: Zip و UnZip کردن فایل

    سلام

    بعضی از دوستان بدنبال کامپوننت Zip و UnZip کردن فایل ها بودند؛ غافل از ینکه کد در System.IO.Compression و ما گرد کامپوننت میگردیم.!!!

    Imports System.IO
    Imports System.IO.Compression

    Namespace ECP

    Public Class ZipUtility

    Public Sub CompressFile(ByVal sourceFile As String, ByVal destinationFile As String)

    ' make sure the source file is there
    If Not File.Exists(sourceFile) Then
    Throw New FileNotFoundException
    End If

    ' Create the streams and byte arrays needed
    Dim buffer As Byte() = Nothing
    Dim sourceStream As FileStream = Nothing
    Dim destinationStream As FileStream = Nothing
    Dim compressedStream As GZipStream = Nothing

    Try
    ' Read the bytes from the source file into a byte array
    sourceStream = New FileStream(sourceFile, FileMode.Open, FileAccess.Read, FileShare.Read)

    ' Read the source stream values into the buffer
    buffer = New Byte(sourceStream.Length) {}
    Dim checkCounter As Integer = sourceStream.Read(buffer, 0, buffer.Length)

    ' Open the FileStream to write to
    destinationStream = New FileStream(destinationFile, FileMode.OpenOrCreate, FileAccess.Write)

    ' Create a compression stream pointing to the destiantion stream
    compressedStream = New GZipStream(destinationStream, CompressionMode.Compress, True)

    'Now write the compressed data to the destination file
    compressedStream.Write(buffer, 0, buffer.Length)

    Catch ex As ApplicationException
    MessageBox.Show(ex.Message, "An Error occured during compression", MessageBoxButtons.OK, MessageBoxIcon.Error)
    Finally
    ' Make sure we allways close all streams
    If sourceStream IsNot Nothing Then
    sourceStream.Close()
    End If
    If compressedStream IsNot Nothing Then
    compressedStream.Close()
    End If
    If destinationStream IsNot Nothing Then
    destinationStream.Close()
    End If
    End Try

    End Sub

    Public Sub DecompressFile(ByVal sourceFile As String, ByVal destinationFile As String)

    ' make sure the source file is there
    If Not File.Exists(sourceFile) Then
    Throw New FileNotFoundException
    End If

    ' Create the streams and byte arrays needed
    Dim sourceStream As FileStream = Nothing
    Dim destinationStream As FileStream = Nothing
    Dim decompressedStream As GZipStream = Nothing
    Dim quartetBuffer As Byte() = Nothing

    Try
    ' Read in the compressed source stream
    sourceStream = New FileStream(sourceFile, FileMode.Open)

    ' Create a compression stream pointing to the destiantion stream
    decompressedStream = New GZipStream(sourceStream, CompressionMode.Decompress, True)

    ' Read the footer to determine the length of the destiantion file
    quartetBuffer = New Byte(4) {}
    Dim position As Integer = CType(sourceStream.Length, Integer) - 4
    sourceStream.Position = position
    sourceStream.Read(quartetBuffer, 0, 4)
    sourceStream.Position = 0
    Dim checkLength As Integer = BitConverter.ToInt32(quartetBuffer, 0)

    Dim buffer(checkLength + 100) As Byte
    Dim offset As Integer = 0
    Dim total As Integer = 0

    ' Read the compressed data into the buffer
    While True
    Dim bytesRead As Integer = decompressedStream.Read(buffer, offset, 100)
    If bytesRead = 0 Then
    Exit While
    End If
    offset += bytesRead
    total += bytesRead
    End While

    ' Now write everything to the destination file
    destinationStream = New FileStream(destinationFile, FileMode.Create)
    destinationStream.Write(buffer, 0, total)

    ' and flush everyhting to clean out the buffer
    destinationStream.Flush()

    Catch ex As ApplicationException
    MessageBox.Show(ex.Message, "An Error occured during compression", MessageBoxButtons.OK, MessageBoxIcon.Error)
    Finally
    ' Make sure we allways close all streams
    If sourceStream IsNot Nothing Then
    sourceStream.Close()
    End If
    If decompressedStream IsNot Nothing Then
    decompressedStream.Close()
    End If
    If destinationStream IsNot Nothing Then
    destinationStream.Close()
    End If
    End Try

    End Sub
    End Class
    End Namespace

  2. #2
    کاربر دائمی آواتار Sub Zero
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    اهواز
    پست
    443
    امیر جان تو که این همه زحمت کشیدی لا اقل یه نمونه کامل (سورس همراه با برنامه ) درست می کردی توی تاپیک VB 2005 Tips میزاشتی تا همه استفاده کنند .

  3. #3
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313
    شما با استفاده از این کد نمی توانید چندتا فایل را زیب کرده و در یک فایل بریزید.

  4. #4
    کاربر دائمی آواتار Amir Taghavi
    تاریخ عضویت
    مهر 1384
    محل زندگی
    من از شهر عشقم ولی دلشکسته
    پست
    510
    نقل قول نوشته شده توسط linux مشاهده تاپیک
    شما با استفاده از این کد نمی توانید چندتا فایل را زیب کرده و در یک فایل بریزید.
    با کمی تغییر حتما" امکان داره. کار نشد نداره!!!

  5. #5
    اگه ممکنه کد مربوط به چند تا فایل را بزاره ممنون می شم یا حتی یک پوشه

    نیک باشید

  6. #6
    کاربر دائمی آواتار amirsajjadi
    تاریخ عضویت
    آبان 1385
    محل زندگی
    خراسان رضوی - سبزوار
    سن
    35
    پست
    871

    Post فشرده ساری چند فایل

    اینم برنامه ای که از خود سایت مایکروسافت دانلود کردم برای فشرده سازی یک یا چند تا فایل است
    فایل های ضمیمه فایل های ضمیمه

  7. #7

    نقل قول: فشرده ساری چند فایل

    نقل قول نوشته شده توسط amirsajjadi مشاهده تاپیک
    اینم برنامه ای که از خود سایت مایکروسافت دانلود کردم برای فشرده سازی یک یا چند تا فایل است
    برنامه ای که ضمیمه کردین توی .net2008 درست کار نمیکنه ولی ممنون ...
    مثال دیگه ای کسی میتونه بزنه ؟!
    یا نمونه کد بده .. .
    من توی برنامم یه فولدر با چند فایل دارم میخوام به این روش ازشون Backup بگیرم و بتونم بعدا دوباره به برنامه اضافشون کنم ...

  8. #8
    کاربر تازه وارد آواتار ramin2nt2
    تاریخ عضویت
    آبان 1385
    محل زندگی
    Teh
    پست
    44

    نقل قول: کد: Zip و UnZip کردن فایل

    سلام
    این لینک رو ببینید :

    http://www.codeplex.com/DotNetZip

  9. #9

    Wink نقل قول: کد: Zip و UnZip کردن فایل

    نقل قول نوشته شده توسط ramin2nt2 مشاهده تاپیک
    سلام
    این لینک رو ببینید :

    http://www.codeplex.com/DotNetZip
    سلام ممنون ولی لینکشو گذاشته بودم اینجا یادم رفت اضافه کنم ...
    اینجا کامل توضیح دادم :
    https://barnamenevis.org/showthread.php?t=210178

تاپیک های مشابه

  1. zip/unzip فایلها و پوشه ها
    نوشته شده توسط programmermp در بخش VB.NET
    پاسخ: 8
    آخرین پست: پنج شنبه 16 شهریور 1385, 11:25 صبح
  2. توابع Zip و Unzip کردن فایل های پشتیبان
    نوشته شده توسط Chabok در بخش VB.NET
    پاسخ: 13
    آخرین پست: یک شنبه 18 تیر 1385, 18:44 عصر
  3. zip و unzip با روش هافمن
    نوشته شده توسط mina.m در بخش الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 1
    آخرین پست: شنبه 13 خرداد 1385, 13:50 عصر
  4. نیاز به ocx برای zip/unzip
    نوشته شده توسط St4r-S4t در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: یک شنبه 14 اسفند 1384, 15:01 عصر
  5. ZIP & UNZIP
    نوشته شده توسط madmax در بخش VB.NET
    پاسخ: 8
    آخرین پست: دوشنبه 14 مهر 1382, 10:35 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •