2010-10-08 6 views
8

Potrzebuję odczytać plik tekstowy ze ścieżki klas w aplikacji WAR Java. Jak mogę go odczytać jako InputStream. Plik znajduje się w folderze/WEB-INF/classes /, ale gdy użyję następującego kodu, po prostu zwróci wartość null.Jak mogę odczytać plik z katalogu klas w mojej WAR?

InputStream input = servletContext.getClass().getClassLoader().getResourceAsStream("my_filename.txt"); 

Odpowiedz

11

poprzedzić je ukośnikiem do oznaczenia pierwiastka ścieżce klasy:

getResourceAsStream("/my_filename.txt") 

Alternatywnie, można użyć serlvetContext.getResourceAsStream(..) który wygląda zasobów w stosunku do korzenia kontekstowego. Więc klasy będą /WEB-INF/classes.

+0

Próbowałem również, ale nadal zwraca wartość null. Czy plik servletContext ma odpowiedni program ładujący klasy lub czy mogę się upewnić, że używam odpowiedniego programu ładującego klasy? – newbie

+0

@newbie:. Jedną z nich jest napisanie pliku o tej samej nazwie w tym samym miejscu, jeśli nie możesz przeczytać, a następnie sprawdź, gdzie dokładnie program zapisał plik. –

+0

@newbie to plik na pewno tam? z tą samą nazwą, rozszerzeniem i przypadkiem? – Bozho