Java resources, ładowanie plików graficznych

0

Witam
Kilka dni temu zrobiłem prosty program który wyświetla kilka obrazów i zależnie od interakcji użytkownika powoduję zmianę poszczególnych obrazów. Problem polega na tym że kiedy skompilowałem ten program, na moim komputerze wszystko dobrze działało, w momencie kiedy z ciekawości uruchomiłem ten sam program na innym komputerze okazało się że nie są widoczne obrazy. Użyłem "absolute path" jako ścieżkę do obrazów, w książce z której aktualnie się uczę Javy "core Java 2 podstawy" są przykłady wskazywania plików w ten sposób i nie ma nic wytłumaczone, jedynie metody co robią. Długo szukałem w Internecie poradniku który szczegółowo wyjaśnij to zagadnienie. W jaki sposób powinno wskazywać się lokalizacje plików tak żeby po skompilowaniu w plik .jar wszystko działało, nie zależnie od komputera na którym powstał program.

3

takie pliki powinny być w folderze src/main/resources a potem się odwołujesz za pomocą:

ClassLoader classloader = Thread.currentThread().getContextClassLoader();
InputStream is = classloader.getResourceAsStream("test.csv");

lub

this.getClass().getResource("/test.csv")
3

Najlepiej użyć Resources z Guavy.

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