que tienen la estructura siguiente en una aplicación Web Java:getResourceAsStream() siempre se vuelve nula
TheProject
-- [Web Pages]
-- -- [WEB-INF]
-- -- -- abc.txt
-- -- index.jsp
-- [Source Packages]
-- -- [wservices]
-- -- -- WS.java
En WS.java
, estoy usando el siguiente código en un método Web:
InputStream fstream = this.getClass().getResourceAsStream("abc.txt");
Pero siempre está devolviendo un nulo. Necesito leer de ese archivo, y leí que si coloca los archivos en WEB-INF
, puede acceder a ellos con getResourceAsStream
, pero el método siempre devuelve null
.
¿Alguna idea de lo que puedo estar haciendo mal?
Por cierto, lo extraño es que se trataba de trabajar, pero después he realizado un Clean and Build
en el proyecto, que de repente dejó de funcionar:/
+1 Saludos amigo, funcionó. Moví el archivo a 'wservices' y funciona ahora –
Si está utilizando Eclipse, también debe presionar 'F5' (actualizar) para que su 'abc.txt' aparezca en el explorador de paquetes, de lo contrario getResource() siempre devuelve null . –
Encontré que las pruebas de unidad eran más indulgentes con la ubicación del archivo en Eclipse/maven, pero cuando estaba empaquetado e implementado, el archivo funcionaba solo cuando lo movía para que coincidiera con la ubicación de la clase, como recomendaba esta respuesta. –