Mam pewien niebanalny problem. Otóż przy starcie mojej aplikacji pobieram ścieżkę, gdzie znajduje się program i zapisuję go do Stringa, z którego potem korzystam do zapisywania/odczytywania plików w aplikacji.
Jeśli użytkownik uruchamia aplikację z katalogu gdzie jest ten program to nie ma problemu, ale gdy znajduje się w innej lokalizacji i uruchomi program podając pełną ścieżkę do niego to dostaję nie ten wynik co trzeba.
Np.:
User jest w katalogu C:\
wpisze: C:\katalog_z_programem\uruchom.bat
To aplikacja się uruchomi, ale ścieżka do katalogu z aplikacją będzie mieć postać:
C:
zamiast:
C:\katalog_z_programem\
W Linuksie jest ten sam problem. Wiecie może jak to rozwiązać?
Od razu powiem, że próbowałem standardowych rozwiązań, typu:
URL pUrl1 = NazwaKlasy.class.getClassLoader().getResource("NazwaKlasy.class");
URL pUrl12 = NazwaKlasy.class.getResource(".");
File katalog = new File(Jaspresso.class.getProtectionDomain().getCodeSource().getLocation().getPath());
File katalog=new File("");
String s =katalog.getAbsolutePath();
I nic nie działało jak należy, każdy ze sposobów wykładał się, gdy użytkownik uruchamia aplikację z innej lokalizacji podając właściwą ścieżkę do programu w konsoli.