سؤال

أنا أقرأ ملفًا ثنائيًا في برنامج تحليل.سأحتاج إلى التكرار خلال الملف والبحث عن علامات معينة حتى أتمكن من تقسيم الملف وتمرير تلك الأجزاء إلى مُنشئات الكائنات الخاصة بها.

هل هناك ميزة للاحتفاظ بالملف كدفق، إما MemoryStream أو FileStream، أم يجب تحويله إلى مصفوفة بايت[]؟

كيث

هل كانت مفيدة؟

المحلول

أ byte[] أو MemoryStream سيتطلب كلاهما إحضار الملف بأكمله إلى الذاكرة.أ MemoryStream هو في الحقيقة غلاف حول مصفوفة بايت أساسية.أفضل نهج هو أن يكون لديك اثنين FileStream (واحد للإدخال والآخر للإخراج).اقرأ من دفق الإدخال وابحث عن النمط المستخدم للإشارة إلى أنه يجب فصل الملف أثناء الكتابة إلى ملف الإخراج الحالي.

قد ترغب في التفكير في تغليف ملفات الإدخال والإخراج في ملف BinaryReader و BinaryWriter على التوالي إذا كانت تضيف قيمة إلى السيناريو الخاص بك.

نصائح أخرى

MemoryStream هو في الأساس مصفوفة بايت مع واجهة دفق، على سبيل المثال.القراءة/الكتابة المتسلسلة ومفهوم الوضع الحالي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top