java - software - Propiedades vs paquete de recursos
sistema operativo libre pdf (2)
ResourceBundle ayuda a cargar propiedades específicas de locale. Si tiene un archivo de propiedades diferente para cada configuración regional, por ejemplo, DE, CN, etc. ResourceBundle cargará el archivo específico de configuración regional correspondiente.
Leí sobre propiedades y paquete de recursos. Pero no pude obtener la diferencia entre estos. Cuándo usar el archivo de propiedades y cuándo usar el paquete de recursos.
Para cargar el archivo de propiedades use el siguiente código
Properties tempProp = new Properties();
FileInputStream propsFile = new FileInputStream(xyz.properties);
tempProp.load(propsFile);
Para cargar el paquete de recursos
ResourceBundle labels =
ResourceBundle.getBundle("xyz", currentLocale);
Enumeration bundleKeys = labels.getKeys();
En ambos casos (en paquete de recursos y en Properites) estamos usando el archivo de propiedades. La única diferencia que encontré es que para almacenar datos específicos de la aplicación usamos el archivo de propiedades y para usar los datos de i18n usamos el paquete de recursos. No sé si estoy en lo cierto o no.
Me gustaría saber el uso de los dos anteriores. Cuál es la diferencia entre estos dos.
Sí, estás pensando en las líneas correctas.
Los paquetes de recursos no tienen que usar archivos de propiedad; es solo una implementación ( PropertyResourceBundle
). Un archivo de propiedades es realmente solo una asignación de cadena a cadena, y puede usarse para i18n, pero no tiene por qué serlo.
ResourceBundle
le proporciona una forma consistente de solicitar el objeto apropiado (generalmente una cadena) para una configuración regional particular, con retrocesos, etc. A menudo, pero no siempre, está respaldado por un archivo de propiedad separado para cada idioma.
Entonces sí: si está tratando con i18n, debería usar ResourceBundle
; si solo necesita un mapa de cadena a cadena persistido en un archivo de texto, está bien usar Properties
directamente.