Ścieżka do pliku na podstawie nazwy pliku.

0

Cześć, mam taki problem, że jak odpalam sobie appkę lokalnie przez intellij to znajduje mi mój plik bez problemu. Tak samo się dzieje jak zdeployowałem ją na heroku. Jednak gdy tworzę sobię uber jara i próbuję go odpalić z konsoli to dostaję błąd, że pliku nie znaleziono.
Scieżkę do pliku pobierałem na dwa sposoby oba działają przez intellij, ale już przez jara nie.

//1
URL resource = this.getClass().getClassLoader().getResource("static/images/roses07.jpg");
//2
File image = new File("src/main/resources/static/images/roses07.jpg");

W obu przypadkach jak odpalam przez jara to dostaję wyjątek, że nie znaleziono pliku. Rozumiem jeszcze czemu w drugim przypadku może się tak dziać. Rozpakowałem jara i sprawdziłem strukturę folderów i zauważyłem, że nie ma w ogóle folderu resources tylko od razu zaczyna się od static. Jednak dalej nie czaję czemu mi nie czyta tych plików.

0

Jeśli chcesz by obrazek miał typ ImageIcon, to czytaj tak:

img = new ImageIcon(KlasaZProjektu.class.getResource("ścieżka_względna_do_pliku_od_pliku_class_do_obrazka"));

Co trzeba zmienić jeśli obrazek ma być typu BufferedImage to chyba wymyślisz.

0

Nie bardzo rozumiem jak mam podać tą ścieżkę. Zakładając taką strukturę screenshot-20180121161712.png i wczytując na podstawie klasy z paczki core to jak podać katalog nadrzędny w ścieżce względnej?

0

Katalog nadrzędny, to dwie kropki. Ścieżka powinna wyglądać tak:

../../../resources/static/images/roses07.jpg

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