2012-05-28 20 views
23

Estoy probando el ejemplo dado en Oracle's documentations. El archivo java es here como se muestra en esa página. Ahora con este archivo java, guardo un archivo LabelsBundle.properties en el mismo directorio.Java ResourceBundle espacio en blanco inicial en los valores

# This is the default LabelsBundle.properties file 
s1 = computer 
s2 = disk 
s3 = monitor 
s4 = keyboard 

parece que los espacios en blanco al final no se ignoran al leer los valores y se ignoran los espacios en blanco iniciales.

Entonces, si quiero espacios principales para estar allí, ¿qué debo hacer?

En otras palabras, ¿qué necesito hacer para leer el valor de s1 como

computer 

en lugar de

computer 

?

Respuesta

31

Una secuencia de escape Unicode \u0020 debería hacerlo, porque el analizador de propiedades debería reconocerlo como un valor real y Java String debería interpretar \u0020 como el punto de código Unicode para espacio.

Alternativamente, IIRC, puede escapar del espacio con una barra diagonal inversa como esta \ my value. Funciona para llaves, también.

+0

\ u0020 funcionaría sin ningún cambio de codificación? y @Zaki: Intenté y sin cambiar ninguna codificación, '\' funcionó !? – prongs

+0

Sí, porque '\ u0020' es el código. De hecho, esto es lo que hace la herramienta native2ascii: convierte todos los caracteres fuera del rango ASCII a tales secuencias de escape Unicode para garantizar que el archivo de propiedades se carga correctamente sin romper caracteres cuando el código de propiedades en sí se trata como ASCII. – user268396

+0

también, ¿puedo hacerlo sin cambiar el archivo de propiedades? En código java me refiero? – prongs

15

Puede escapar del espacio con un fuerte rechazo:

s1 =\ computer 
+0

también, ¿puedo hacerlo sin cambiar el archivo de propiedades? En código java me refiero? – prongs

Cuestiones relacionadas