هل يمكننا تحديد مسار الدليل مع ملف الخصائص أثناء استخدام فئة ResourceBundle في Java؟
-
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");