hey you all care for context related file loading like application context , web.xml ,config and property file
Ecco come caricare un file java qualsiasi tipo di file in WEB-INF
ma memorizzato su un altro stucture come un sub cartella reportFile
il file o la cartella sub nuovo report01
-
fullpath is = /WEB-INF/reportFile/report01/report.xml
, ho provato molte possibilità di caricare e leggi questo file xml ... nessuno dei precedenti ha funzionato per me ma, ecco il trucco per l'uso futuro ...
In Action or inservice class you know interface implementation class
no imports
anche questa è una buona parte.
dichiarare il vostro oggetto file
File myClass = new File(getClass().getProtectionDomain().getCodeSource().getLocation().getFile());
System.out.println("Finding calss path first then remove classes from the path " + myClass.getCanonicalPath().replaceFirst("classes", "")+"reportFIle/report01/reports.xml")
2.Caricare il percorso, eliminando classes
da quanto sopra e aggiungere il vostro percorso specifico
File f = new File(myClass.getCanonicalPath().replaceFirst("classes", "")+"reportFile/report01/reports.xml")
Poi
si può anche analizzarlo usando XML parser o fare qualsiasi cosa
document = docBuilder.parse(new File(myClass.getCanonicalPath().replaceFirst("classes", "")+"reportFile/report01/reports.xml"));
Saluti !!
Se il file di configurazione è per le classi Java, perché metterlo in 'WEB -INF' cartella ... perché non nella cartella 'src/main/resources' e accedervi da lì? –
Direi che 'getResourceAsStream' dovrebbe funzionare – SJuan76
La configurazione dovrebbe essere in src/main/resources e verrà incorporata nella cartella della classe quando si distribuisce l'app Web. Perché è necessario inserire il file di configurazione nella cartella WEB-INF? – Thinhbk