هل يمكننا تحديد مسار الدليل مع ملف الخصائص أثناء استخدام فئة ResourceBundle في Java؟

StackOverflow https://stackoverflow.com/questions/3598240

  •  02-10-2019
  •  | 
  •  

سؤال

أرغب في وضع ملفات الخصائص الخاصة بي في مجلد ، لكنني غير قادر على قراءتها لأنه يمكننا تحديد اسم الحزمة فقط في ثابت getBundle() طريقة على حزمة الموارد هدف.

افترض أن الحزمة هي: myfile.properties
المسار الحالي هو: SRC
أريد أن أبقي ملف الخصائص الخاص بي في: SRC/درجة الحرارة

لذلك عندما أستخدم:

ResourceBundle.getBundle("temp/myfile", currentLocale);

إنه يرمي استثناء "لا يمكن العثور على حزمة". أريد طريقة لتحديد المسار. من فضلك اقترح لي طريقة ما للقيام بذلك.

شكرًا لك

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

المحلول

استخدم هذا:

ResourceBundle.getBundle("temp.myfile", currentLocale);

ال baseName تم توفيرها في ResourceBundle.getBundle من المفترض أن تكون المكالمة اسم فئة مؤهل بالكامل. لذلك يجب أن يتم فصلها مع النقاط. لاحظ أيضًا أن هذا يجعل temp حزمة في رمز Java الخاص بك (والتي لا أعتقد أنها فكرة جيدة). من الأفضل وضع ملف الخصائص في حزمة مناسبة مثل com.xyz.abc. ثم يمكنك الوصول إليه باستخدام

ResourceBundle.getBundle("com.xyz.abc.myfile", currentLocale);

نصائح أخرى

من الممكن أن تستخدم اسم الملف الخطأ (myfile! = myfile).

لملف myFile.properties في دليل temp في classpath ، يجب أن يعمل هذا الرمز:

ResourceBundle.getBundle("temp.myFile");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top