Podczas pracy z NetBeans 6.7 natrafiłem na taki problem:
Oprócz głównej paczki z kodami źródłowymi utworzyłem trzy kolejne: icons (zawierającą obrazki ikon), images (zawierającą tła elementów) i maps (zawierającą stworzone przeze mnie mapy do gry, we własnym formacie).
Gdy ładuję ikony oraz obrazki w ten sposób:
java.net.URL imgURL = MainBoard.class.getResource("images/about.png");
Toolkit tk = this.getToolkit();
if (imgURL != null) {
aboutImage = tk.getImage(imgURL);
}
jest wszystko w porządku.
Natomiast gdy chcę otworzyć plik:
java.net.URL fileURL = MainBoard.class.getResource("maps/map.hex");
File file = new File(fileURL.getPath());
FileInputStream file_input;
try {
file_input = new FileInputStream(file);
DataInputStream data_in = new DataInputStream (file_input);
for (int i=0; i < WIDTH_MAX; i++)
for(int j=0; j < HEIGHT_MAX; j++)
map[i][j] = data_in.readInt();
file_input.close ();
} catch (IOException e) {
System.out.println ("IO exception = " + e );
}
to dostaję wyjątek FileNotFoundException (wywołanie file.exist() zwróciło false).
Gdzie powinienem umieścić te pliki-mapy oraz jak konstruować ścieżkę dostępu do nich, aby były widoczne?
Jeśli umieszczę je w katalogu głównym i odwołam się poprzez zwykłe "map.hex", to jest wszystko w porządku. Ale wtedy po zbudowaniu projektu będę musiał je za każdym razem dołączać ręcznie do folderu z plikiem wykonywalnym (a tego chciałbym uniknąć).
Będę wdzięczny za wszelką pomoc!
// EDIT: zmieniłem tylko < code > na < code=java >