سؤال

مهلا، أعتقد أن العنوان يلخص ذلك، ولكن لا يزال.

أنا بحاجة لــ يستخرج ال اسم مؤهل بالكامل للكائن من تجميعها .فصل الملف، هل يمكن لأي شخص أن يوجهني في الاتجاه الصحيح؟

شكرًا،
آدم.

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

المحلول

getClass().getName()

تحديث: يمكنك تحميل ملف الفصل في ملف byte[] (باستخدام الإدخال/الإخراج القياسي) ثم استخدمه getClass().getClassLoader().defineClass(...)

نصائح أخرى

giveacodicetagpre.

استخدم مكتبة مثل BCECE لقراءة ClassFile في الذاكرة واستعلامها باسم الفصل.

يمكنك قراءة هذا عن طريق تحليل الثنائي. تنسيق ملف الفئة محددةفي VM المواصفات .

ألق نظرة على datainputstream إذا كنت جديدا على تحليل الثنائيات.

اعتمادا على ما تستخدمه، قد تكون هناك آلية للقيام بذلك.على سبيل المثال في الكسوف، يمكنك الحفر إلى ملف .class والنقر بزر الماوس الأيمن عليه وحدد "نسخ الاسم المؤهل بالكامل".

قد لا تملك الإصدارات الأقدم من الكسوف هذه الميزة، لكنني استخدمت هذا البرنامج المساعد قبل:

href="http://www.jave.de/eclipse/copyfully/index.html" rel="nofollow noreferrer"> http://www.jave.de/eclipse/copyfully/index.html

يعمل بشكل كبير بنفس الطريقة.نأمل أن يساعد هذا.

يمكنك إلقاء نظرة على سبيل المثال في AnnotationsCanner من تنفيذ JSF، فهي تقوم بتحميل الفئات يدويا (لتجنب تلوث Perm-Space) للعثور على التعليقات التوضيحية JSF.على وجه الخصوص نظرة على هذا:

giveacodicetagpre.

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