Lista plików w jarze

0

Witam

Jak pozyskać listę plików w określonym katalogu w jarze? Jara uruchamiam i wiem ze w nim jest katalog variables i są w nim pliki ale nie znam ich nazw. Chciałbym wylistować te nazwy by móc je dać do inputsreama:

InputStream in = Main.class.getResourceAsStream(nazwaPliku);

Myślałem nad takim rozwiązaniem:
Pobrać
String sciezkaDoJara = Main.class.getProtectionDomain().getCodeSource().getLocation().toString();

A potem użyć klasy JarFile :
JarFile jarFile = new JarFile("name"); ... i listowanie plików zgodnie z tym przykładem :

http://www.java2s.com/Code/Java/File-Input-Output/Listfilesinajarfile.htm

Może zadziała ale jest to hmm chyba pod górkę -nie ma prostrzego?

0

No działa to jak zaplanowałem ale wydaje mi się to skomplikowanym sposobem. Nie ma prostego?

0

To jest proste. Innej drogi nie ma, bo jar to jednak archiwum ZIP i trzeba przez nie sobie przejść.

0

Działać działa, ale ...

Założmy, że mojego jarka mam w katalogu .../abc abc/...

gdy robię:

String sciezkaDoJara = ZrzutPlikow.class.getProtectionDomain().getCodeSource().getLocation().getPath();

otrzymuje ścieżkę, ale tam gdzie jest spacja nie wiem dlaczego jest ""%20".

Jeżeli to jest ścieżka typu c:/1/ to działa bez problemu ale spacja (i pewnie inne znaki) nie są poprawnie tłumaczone:/

Co z tym zrobić?

0

Jest %20 zamiast spacji bo gdziestam w tym lancuszku wywolan skopiowanym z ktoregos postu na tym forum (;d) dostajesz URL, a tak wyglada jego zakodowana forma.

0

Zamiast getPath() mozesz sprobowac getFile().

0

Hmm...spróbowałem to co radzisz i tez zima- spróbowałem wszystkie znane mi sposoby-ide poszukac do googla.

0

URLDecoder zostaje i tyle.

1 użytkowników online, w tym zalogowanych: 0, gości: 1