2011-09-25 11 views
5

quiero leer el archivo xml en mi ascensor aplicación:cómo leer un archivo de una aplicación web ascensor

datos val = XML.load (nueva java.io.InputStreamReader (nueva java.io.FileInputStream (nombre de archivo), codificación));

Sin embargo, recibo java.io.FileNotFoundException. ¿Dónde debería colocar el archivo y cuál es la ruta correcta desde mi código scala?

BTW - Estoy utilizando embarcadero integrado para mis pruebas, aunque necesito una solución para desarrollo y producción.

Respuesta

7

Puede haber una mejor solución para otros caminos, pero hay

var LiftRules.getResource : (String) ⇒ Box[URL] 

o

def LiftRules.doWithResource(name: String)(f: (InputStream) ⇒ T): Box[T] 

que por lo general apuntan a archivos en src/main/resources/.

Existe también

def LiftRules.loadResourceAsXml(name: String): Box[NodeSeq] 

que puede ser el método que busca.

+0

Cuando probé este método obtuve MalformedUrlException. No pude entender si el contenido del archivo o la ruta del recurso no se formaron bien. – oshai

+2

¿Comenzó la cadena con una barra ('/ myresource.res')? – Debilski

+0

Funciona: 'LiftRules.loadResourceAsXml ("/cities_hebrew_utf.xml ");' ¡Gracias! – oshai

2

Para resolver este problema en el caso general, new File("delme").createNewFile() y ver dónde termina.

+0

Esto puede cambiar dependiendo del directorio en el que se inició el servidor. – Debilski

+1

Tal vez, pero para cualquier configuración en particular, funcionará, y funcionará en Lift o Wicket o Play o ... –

+0

Me funciona en mi entorno de desarrollo. Espero que funcione también cuando lo despliegue. ¡Gracias! – oshai

Cuestiones relacionadas