2011-03-04 8 views
11

¿Alguien sabe por qué los dos puntos se están escaparon cuando guardo el archivo de propiedades?ahorro a las propiedades de archivo escapa:

que estoy haciendo esto:

Properties prop = new Properties(); 


// Set the properties value. 

prop.setProperty("url","http://localhost:7101/test/home"); 

y almacenar usando:

prop.store(new FileOutputStream(propFile), null); 

Está funcionando pero la salida tiene dos puntos escapado por alguna razón:

url=http\://localhost\:7101/test/home 

Alguien sabe una ¿fijar?

Respuesta

15

En archivos de propiedades, ambos son de fiar:

key1 = value 
key2: value 

Así que ambos = y: Debe estar escapado.

Ahora, si usted lee la cosa de nuevo con propiedades, no hay problema. De lo contrario, tendrá que escribir código personalizado

+0

se me adelantó. Me enseña lo correcto para escribir primero el código de prueba en lugar de ir por el Javadoc. –

+0

Respecto a escribir código de prueba! (hace que te preguntes por qué las personas que hacen la pregunta no comienzan a hacer eso;) – iluxa

2

Eso es lo que hace la API store(): -

Cada carácter de la tecla y el elemento cuerdas es examinado para ver si debe representar como un escape secuencia. Los caracteres ASCII \, tab, forma de alimentación, de nueva línea, y el carro retorno están escritas como \, \ t, \ f \ n, y \ r, respectivamente. Los caracteres menos que \ u0020 y los caracteres mayores que \ u007E se escriben como \ uxxxx para el valor hexadecimal apropiado xxxx. Para la clave, todos los caracteres de espacio se escriben con un carácter \ anterior. Para el elemento , los caracteres en blanco, pero que no esté integrado o finales espacio caracteres, están escritos con un precedente carácter \ . Los personajes principales y elemento #,?, =, Y: se escrita con una barra invertida a asegurar que estén bien cargadas.

No debería importarle realmente siempre que use Properties para obtener los valores.

Cuestiones relacionadas