تقوم Java بتحويل الملفات إلى مجموعة بايت
الكلمات الرئيسية: الملف ، دفق الملف ، دفق البايت ، صفيف البايت ، ثنائي
الخلاصة: تتمثل المتطلبات الأخيرة التي تمت مواجهتها في العمل في استخدام HTTP لنقل البيانات الثنائية إلى الواجهة المقابلة للخادم ، وسلسلة من البيانات الثنائية المختلطة مثل المستخدم والملف (مشفر). تهدف هذه المقالة إلى تسجيل بعض المعرفة وملخص تحويل الملفات إلى صفائف بايت باستخدام Java.
FileInputStream
قراءة الملفات مع FileInputStream
FileInputStream هي فئة فرعية من InputStream ، والتي يتم استخدامها لقراءة المعلومات من ملف. يتلقى المنشئ نوع ملف أو نوع سلسلة يمثل مسار الملف.
ملف الملف = ملف جديد ("filepath") ؛ fileInputStream fis = جديد fileInputStream (ملف) ؛ bytearrayoutputstream
استخدم bytearrayoutputstream لقراءة بيانات الملف في FileInputStream
يتم استخدام ByTearRayoutputStream لإنشاء مخزن مؤقت في الذاكرة ، ويجب وضع جميع البيانات المرسلة إلى "الدفق" في هذا المخزن المؤقت.
bytearrayoutputstream bos = جديد bytearrayoutputstream (fis) ؛ byte [] b = new byte [1024]
ملاحظة: تحتوي طريقة الكتابة لـ ByTearRayoutputStream على ثلاثة نماذج محملة:
اكتب (int b)
اكتب بايت محددة
اكتب (بايت [] ب)
اكتب إلى مجموعة البايت بأكملها ب
اكتب (Byte [] B ، int Off ، Int Len)
اكتب إلى صفيف البايت B ، وابدأ من النقل المفروض من B ، واكتب Len Bytes.
والثاني لا يستخدم هنا ، ولكن يتم استخدام الثالث. في الكود ، يكون عدد القراءات في المخزن المؤقت B عمومًا 1024 (لأنه يتم عرض الطول المحدد عند تعريف B). فقط عند قراءة النهاية ، قد لا يكون ذلك كافيًا 1024 بايت ، وسيتم قراءة العدد الفعلي للبايت القراءة. ومع ذلك ، عند الكتابة إلى المخزن المؤقت ، إذا لم يتم تحديد عدد الكتابة ، فهذا هو ، لم يتم تحديد Len ، فسيتم كتابة B بأكملها. حتى لو لم يكن هناك سوى جزء من المحتوى في B ، فسيظل 1024 بايت مكتوبة. سيؤدي هذا إلى أن صفيف البايت الناتج ليس هو الطول الفعلي عند استخدام TobyTearray!
هذا يكتب دفق الملف من inputStream إلى bytearrayoutputstream.
استخدم طريقة tobytearray () من bytearrayoutputstream للحصول على صفيف البايت للملف.
byte [] filebyte = bos.tobytearray () ؛
شكرا لك على القراءة ، آمل أن تساعدك. شكرا لك على دعمك لهذا الموقع!