تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
The GZip Class
#1
كاتب الموضوع : !!! BoriS !!!

الفئة GZip :

الفئة GZip تتيح لك ضغط البيانات من خلال استخدام Stream لتخزين البيانات ثم استخدام ال Method الخاصة بالفئة GZip لاجراء عملية ضغط البيانات

اهم الخصائص والطرق للفئة GZip :

Base Stream :

هده الخاصية تتيح لك عرض ال Stream الاساسى اى المستخدم فى عملية تخزين البيانات قبل ضغطها.

Can Read :

هده الخاصية تعرض لك ادا كان ال Stream يدعم عملية القراءة عند عملية فك ضغط الملف.

Can Seek :

هده الخاصية تعرض لك ادا كان ال Stream يدعم عملية التنقل داحل ال Stream

Can TimeOut :

هده الخاصية تعرض لك وقت الانتهاء من التعامل مع ال Stream

Can Write :

هده الخاصية تعرض لك ادا كان ال Stream قايل للكتابة عليه او لا

Length :

هو عبارة عن المساحة الخاصة بال Stream

Position :

وهى عبارة عن موقع المؤشر

Read Timeout :

هى خاصية تمكنك من ضبط او قراءة وقت انتهاء قراءة ال Stream

Write Timeout :

هى خاصية تمكنك من ضبط او قراءة وقت انتهاء الكتابة الخاص بال Stream

اما الطرق "

Close :

وهى طريقة لاغلاق ال Stream بعد اتمام العمليات عليه.

Flush :

هى طريقة لتنظيف اى Buffers للــStream وفرض التغييرات لتهيئتها للكتابة على المشغل او النظام.

Read :

هى طريقة لانجاز عملية القراءة المتتالية لعدد محدد من ال Bytes من مكان محدد Position داخل ال Stream ويقوم بعمل تحديث للمحث او محث القراءة (Position) عند نهاية ال Stream عند اتمام عملية القراءة.

Read Byte :

هى طريقة لعملية قراءة Byte واحد فقط واتمام عملية التحديث للمحث Position ودلك بتحريكة بالواحدة على اساس انه يقرء Single Byte

Write :

هى طريقة لكتابة عدد من ال Bytes وتقوم ايضا بتخديث ال Position .

Write Byte :

هى طريقة لكتابة Byte واحد فقط

بعد التعرف على خصائص وطرق الفئة GZip

الان كيف يتم عمل ضغط للبيانات بواسطةStream مضغوط Compression Stream

ال Streams المستخدمة فى عملية الضغط تختلف قليلا عن ال Streams عموما


كود :
[color=#000000][COLOR=#0000bb]Dim SourceFile [/color][color=#007700]as [/color][color=#0000bb]FileStream [/color][color=#007700]= [/color][color=#0000bb]File[/color][color=#007700].[/color][color=#0000bb]OpenRead[/color][color=#007700]([/color][color=#0000bb]IniFileName[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim destFile [/color][color=#007700]as [/color][color=#0000bb]FileStream [/color][color=#007700]= [/color][color=#0000bb]File[/color][color=#007700].[/color][color=#0000bb]Create[/color][color=#007700]([/color][color=#0000bb]OutFileName[/color][COLOR=#007700])

[/COLOR][color=#0000bb]Dim CompStream [/color][color=#007700]as New [/color][color=#0000bb]GZipStream[/color][color=#007700]([/color][color=#0000bb]destfile [/color][color=#007700], [/color][color=#0000bb]CompressionMode[/color][color=#007700].[/color][color=#0000bb]Compress[/color][COLOR=#007700])  
[/COLOR][/COLOR]

عند عملية القراءة :


كود :
[color=#000000][COLOR=#0000bb]Dim theByte [/color][color=#007700]As [/color][color=#0000bb]Integer [/color][color=#007700]= [/color][color=#0000bb]sourceFile[/color][color=#007700].[/color][color=#0000bb]ReadByte[/color][COLOR=#007700]()
While [/COLOR][color=#0000bb]theByte [/color][color=#007700]<> -[/color][COLOR=#0000bb]1
CompStream[/COLOR][color=#007700].[/color][color=#0000bb]WriteByte [/color][color=#007700]([/color][color=#0000bb]Ctype[/color][color=#007700]([/color][color=#0000bb]theByte [/color][color=#007700], [/color][color=#0000bb]Byte[/color][COLOR=#007700]))
[/COLOR][color=#0000bb]theByte [/color][color=#007700]= [/color][color=#0000bb]Sourcefile[/color][color=#007700].[/color][color=#0000bb]ReadByte[/color][COLOR=#007700]()
[/COLOR][color=#0000bb]End [/color][COLOR=#007700]While  
[/COLOR][/COLOR]


اما عند عملية فك الضغط


كود :
[color=#000000][COLOR=#0000bb]Dim SourceFile [/color][color=#007700]As [/color][color=#0000bb]FileStream [/color][color=#007700]= [/color][color=#0000bb]File[/color][color=#007700].[/color][color=#0000bb]OpenRead [/color][color=#007700]([/color][color=#0000bb]inifilename[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim destFile [/color][color=#007700]As [/color][color=#0000bb]FileStream [/color][color=#007700]= [/color][color=#0000bb]File[/color][color=#007700].[/color][color=#0000bb]Create [/color][color=#007700]([/color][color=#0000bb]OutFileName[/color][COLOR=#007700])

[/COLOR][color=#0000bb]Dim CompStream [/color][color=#007700]As New [/color][color=#0000bb]GZipStream [/color][color=#007700]([/color][color=#0000bb]SourceFile [/color][color=#007700], [/color][color=#0000bb]CompressionMode[/color][color=#007700].[/color][color=#0000bb]DeCompress[/color][COLOR=#007700])

[/COLOR][color=#0000bb]Dim theByte [/color][color=#007700]As [/color][color=#0000bb]Integer [/color][color=#007700]= [/color][color=#0000bb]CompStream[/color][color=#007700].[/color][color=#0000bb]ReadByte[/color][COLOR=#007700]()
While [/COLOR][color=#0000bb]theByte [/color][color=#007700]<> -[/color][COLOR=#0000bb]1
destFile[/COLOR][color=#007700].[/color][color=#0000bb]WriteByte [/color][color=#007700]([/color][color=#0000bb]Ctype[/color][color=#007700]([/color][color=#0000bb]theByte [/color][color=#007700], [/color][color=#0000bb]Byte[/color][COLOR=#007700]))
[/COLOR][color=#0000bb]theByte [/color][color=#007700]= [/color][color=#0000bb]CompStream[/color][color=#007700].[/color][COLOR=#0000bb]ReadByte
End [/COLOR][COLOR=#007700]While  
[/COLOR][/COLOR]




}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  Control Finder Class silverlight 3 59 03-12-16, 06:11 AM
آخر رد: أبو عمر
  معلومة : Partial Class RaggiTech 1 545 06-10-12, 11:03 PM
آخر رد: RaggiTech
  مقال - أفكار في الدوت نت OutAttribute Class RaggiTech 0 351 05-10-12, 06:00 PM
آخر رد: RaggiTech
  معلومة UmAlQuraCalendar Class تقويم أم القري RaggiTech 0 650 01-10-12, 04:16 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم