hey you all care for context related file loading like application context , web.xml ,config and property file
Oto jak załadować plik Java dowolnego pliku pod WEB-INF
ale przechowywane na innym stucture jak podkatalogu reportFile
pliku lub podkatalogu ponownie report01
-
fullpath is = /WEB-INF/reportFile/report01/report.xml
, próbowałem wiele możliwości, aby załadować i przeczytaj ten plik xml ... żaden z powyższych nie działał dla mnie, ale tutaj jest podstęp do przyszłego użytku ...
In Action or inservice class you know interface implementation class
no imports
to także dobra część.
zadeklarować swój obiekt pliku
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.Load ścieżka usuwając classes
z powyższym oraz dodać swoją specyficzna ścieżka
File f = new File(myClass.getCanonicalPath().replaceFirst("classes", "")+"reportFile/report01/reports.xml")
Następnie
można nawet przetworzyć go za pomocą XML analizator składni lub cokolwiek zrobić:
document = docBuilder.parse(new File(myClass.getCanonicalPath().replaceFirst("classes", "")+"reportFile/report01/reports.xml"));
Pozdrawiam !!
Jeśli plik konfiguracyjny jest dla klas Java, dlaczego umieścić go w 'WEB -INF' folder ... dlaczego nie w folderze 'src/main/resources' i uzyskać do niego dostęp? –
Powiedziałbym, że 'getResourceAsStream' powinien działać – SJuan76
Konfiguracja powinna znajdować się w katalogu src/main/resources i będzie wbudowana w folder klasy po wdrożeniu aplikacji internetowej. Dlaczego musisz umieścić plik konfiguracyjny w folderze WEB-INF? – Thinhbk