يحكي مثال هذه المقالة طريقة قراءة البيانات من ملف JAR من Java. شاركه للجميع للرجوع إليه. التفاصيل هي كما يلي:
تعتمد ملفات جافا (JAR) على حلول تغليف تقنية Java. إنها تسمح للمطورين بتعبئة جميع المحتوى ذي الصلة (.class ، الصور ، الصوت ، ملفات الدعم ، إلخ) في ملف واحد. يدعم تنسيق ملف JAR الضغط والمصادقة والإصدارات والعديد من الميزات الأخرى.
إنه لأمر صعب الحصول على محتوى الملف الموجود في ملف JAR ، لكن هذا غير ممكن. ستخبرك هذه التقنية كيفية الحصول على ملف من ملف JAR. سنحصل على دليل الملف في ملف الجرة هذا أولاً ، ثم اقرأ الملف المحدد.
إذا كنت على دراية بتنسيق الرمز البريدي المشترك ، فستجد أن ملف JAR لا يختلف كثيرًا عن ذلك. يوفر ملف JAR طريقة لتعبئة ملفات متعددة إلى ملف واحد ، ويمكن ضغط كل ملف معبأ بشكل منفصل. يمكن أن تضيف ملفات JAR شيئًا يسمى Measest ، والذي يسمح للمطورين بإضافة معلومات أخرى متعلقة بالمحتوى. على سبيل المثال ، يمكن أن يشير البيان إلى الملفات الموجودة في ملف JAR للبدء في تشغيل التطبيقات ، أو تحديد إصدار المكتبة.
يوفر Java 2 SDK Standard Edition أداة JAR التي يمكنك قراءة ملفات JAR وكتابتها من خلالها. ثم ، ربما تريد قراءة ملفات الجرة وكتابةها في برنامجك. (لا تتضمن هذه التقنية سوى محتوى قراءة ملفات JAR في البرنامج.) سعيد للغاية ، يمكنك القيام بذلك ، ولا تحتاج إلى التفكير في مشكلة إلغاء الضغط ، لأن مكتبة الفصل ساعدت في التعامل معها. الفصول التي تحتاج إلى استخدامها هي في java.util.jar. الفئة الرئيسية التي يجب استخدامها هنا هي فئة Jarfile ، وهي ملف .jar نفسه. يتم ذكر كل ملف بواسطة Jarentry.
في البداية ، قد تكون معلمة لإنشاء مثيل Jarfile لمؤسسة Jarfile.
كود كود نسخ كما يلي: Jarfile Jarfile = New Jarfile ("thefile.jar") ؛
أو انسخ رمز الرمز كما يلي: ملف الملف = ملف جديد ("thefile.jar") ؛
Jarfile Jarfile = New Jarfile (ملف) ؛
كما أن لديها بعض المنشئين الآخرين الذين يدعمون التحقق من الهوية وعلامة الملفات التي لحذفها. ومع ذلك ، لن يشارك هؤلاء المُنشئون هنا.
بعد الحصول على إشارة إلى ملف جرة ، يمكنك قراءة دليل محتواه. تُرجع طريقة إدخالات Jarfile كائن التعداد لجميع الإدخالات.
// المترجم ملاحظة: ENUM هي كلمة رئيسية في Java 5.0 ، لذلك يجب أن تجمع هذه الحالة الفشل في 5.0. enum = jarfile.entries () ؛
كما ذكر من قبل ، كل فرد هو جرة. يحتوي هذا الفصل على بعض الطرق مثل GetName و GetSize و GetCompressEsize.
دعنا نعطينا مثالاً على كيفية استخدام هذه الميزات في البرنامج. يعرض البرنامج التالي قائمة محتوى ملف JAR والأسماء والحجم وحجم الضغط. (هذا مشابه لأمر JAR مع المعلمات "T" و "V".)
استيراد java.io. system.out.println (يرجى تقديم اسم ملف جرة ") ؛ hasmorelements () {process (enum.nextElement () ؛}} عملية الفراغ الثابتة الخاصة (الكائن OBJ) ) ؛
إذا كنت تستخدم jce.jar في J2Se 1.4.1 لاختبار برنامج Jardir أعلاه ، فيجب أن ترى الإخراج مثل ما يلي (يجب عرض المزيد من الملفات في ما يلي ...): المزيد من الملفات: المزيد من الملفات): المزيد من الملفات: المزيد من الملفات):
meta-inf/manesest.mf 5315 1910meta-inf/4jcejars.sf 5368 1958meta-inf/4jcejars.dsa 2207 1503meta-inf/0 2javax/0 javax/crypto/0 javax/crypto/interfaces/0 javax/interfaces dhkey.class 209 185javax/crypto/interfaces/dhpublickey.class 265 215javax/crypto/interfaces/dhprivalkey.class 267 215javax/crypto/in/in erfaces/pbekey.class 224javax/crypto/crypto.
لاحظ أن الجزء العلوي من محتوى الإدخال يحتوي على خطوط META-INF ، وهي معلومات التحقق من الأمن والتحقق الأمني. العنصر الذي يبلغ حجمه 0 ليس ملفًا ، ولكنه دليل.
لقراءة محتوى الملف من ملف JAR حقًا ، يجب عليك الحصول على الغرض المقابل لـ InputStream. هذا يختلف عن جارنتري. تتضمن Jarentry فقط معلومات الدخول ، ولكنها لا تتضمن المحتوى الفعلي. هذا يشبه إلى حد كبير الفرق بين الملف و FileInputStrateam. عندما تقوم بزيارة الملف فقط ، فلن تفتح الملف المقابل أبدًا. إليك كيفية الحصول على inputstream من الإدخال:
كود كود نسخ كما يلي: inputStream input = jarfile.getInputStream (إدخال) ؛
بعد الحصول على دفق الإدخال ، تحتاج فقط إلى قراءته مثل قراءة التدفقات الأخرى. إذا كان تدفق نص ، تذكر استخدام القارئ للحصول على أحرف من الدفق. لتدفق البايت ، مثل الصور ، عليك قراءتها مباشرة.
يوضح البرنامج التالي المحتوى من ملف جرة. عند تشغيل برنامج ، يجب أن تحدد اسم الملف للقراءة من ملف JAR.
استيراد java.io.*؛ يرجى تقديم اسم ملف وملف JAR للقراءة ") ؛ System.exit (-1) ؛} jarfile jarfile = new jarfile (args [0]) ؛ إدخال jarentry = jarfile.getjarentry]) ) ؛ line = reader.ReadLine ())!
افترض أن لديك ملف جرة يسمى myfiles.jar ، أحدها يسمى ملف spider.txt ، ثم افترض أن pider.txt يحتوي على النص التالي:
ركض العنكبوت Itsy Bitsy على سبيوتون المائي جاء المطر وقام بإخراج العنكبوت
قم بتشغيل الأمر التالي لعرض محتويات الملف النصي في ملف الجرة:
نسخ رمز رمز على النحو التالي: Java jarread myfiles.jar spider.txt
من المأمول أن يكون هذا المقال مفيدًا لتصميم برنامج Java للجميع.