سؤال

أقوم بتطوير نوع من تنسيق التبادل بين مثيلات التطبيق حتى يتمكن المستخدم من حفظ المعلومات في ملف واستعادتها لاحقًا."تنسيق التبادل" بأكمله عبارة عن فئة واحدة يتم تسلسلها وكتابتها على القرص.

كيف تقترح تخزين المعلومات الرسومية/الصوتية داخل هذا الفصل؟أود تجنب مجرد وضع الملفات فيه بتنسيق .jar.

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

المحلول

وأنت قد يبقي الموارد المخزنة في فئة كما بايت [] المصفوفات. باستخدام ByteArrayInputStream وByteArrayOutputStream كنت قادرا على التفاف المصفوفات كما تيارات واستخدامها لتخزين واسترجاع الموارد.

نصائح أخرى

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

** أنا **

ماذا عن مزيد من التفاصيل حول قضيتك؟تعتمد الطريقة "الأفضل" عادةً على التطبيق/الاستخدام المعين.هل الصورة/الصوت تأتي من الملفات؟من تيار؟هل من المتوقع أن يقوم كل مثيل للفصل بتخزين صور منفصلة؟أو هل يمكن مشاركة الصورة بين حالات مختلفة؟

gsmd

الصور تأتي من الملفات ، والأصوات تأتي من دفق ؛هناك في الواقع مجموعة من العناصر التي قد يكون لبعضها صورة متصلة ؛لا يمكن مشاركة صورة


ما هي الأساليب التي جربتها؟أعتقد أن استخدام الواجهة القابلة للتسلسل هو الحل الأمثل.هنا اثنين مقالات حول هذا الموضوع.

أساسًا،

  1. تنفيذ الواجهة القابلة للتسلسل في صفك
  2. قم بوضع علامة على الأعضاء الذين لا ينبغي حفظهم في الملف على أنهم عابرون (الأعضاء الذين يحتويون على بيانات سياقية مثل مقابض الملفات واتصالات المقبس وما إلى ذلك).
  3. يجب عليك تخصيص كيفية كتابة فئات الصور والصوت للبيانات باستخدام، ولكن تنفيذ:

    writeObject (ObjectOutputStream out) الخاص يلقي IOException؛

    قراءة الفراغ الخاص (ObjectInputStream in) يلقي IOException، ClassNotFoundException؛

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