عند تحميل الموارد، إذا تم تشغيل تطبيق من IDE، فقد يكون المسار إلى المورد مختلفًا عما كان عليه عند تشغيله من ملف جرة. يمكن أن يسبب هذا مشاكل إذا كان التطبيق يعتمد على مسار ملف محدد.
إحدى الطرق لحل هذه المشكلة هي استخدام getResourceAsStream بدلاً من getResource. يقوم getResourceAsStream بإرجاع InputStream، والذي يمكن استخدامه لقراءة بيانات المورد دون الحاجة إلى التعامل مع مسار الملف.
هناك خيار آخر وهو استخراج المورد إلى ملف مؤقت قبل استخدامه. يمكن القيام بذلك باستخدام طريقة Files.copy.
ومع ذلك، من المهم ملاحظة أن بعض التعليمات البرمجية قد تعتمد على البيانات الموجودة في ملف واحد فعلي في نظام الملفات. في هذه الحالة، تجميع المورد في ملف جرة قد لا يكون خيارًا.
نموذج الكود:
InputStream inputStream = WinProcessor.class.getResourceAsStream("repository" ); BufferedReader Reader = new BufferedReader(new InputStreamReader(inputStream)); خط السلسلة؛ بينما ((line = Reader.readLine()) != null) { // افعل شيئًا بالسطر } Reader.Close();تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3