Domanda

Nel mio progetto ho caricare la mia risorsa utilizzando

getClass().getResource("/package/my_reource.file").getFile()

Tutto funziona bene quando si esegue il progetto in NetBeans, ma se ho eseguito il file jar, ottengo FileNotFoundException, perché?

Grazie.

È stato utile?

Soluzione

Non credo che è necessario il nome del file. È piuttosto necessario il suo contenuto. Quindi, l'uso getResourceAsStream() per ottenere la InputStream e leggere il contenuto da lì.

Altri suggerimenti

È possibile utilizzare InputStream piuttosto che getClass().getResource("/package/my_reource.file").getFile()

Si dovrebbe usare

getClass.getResourceAsStream("/package/myresource.file")

Controlla il tuo vaso. Credo che il file non c'è. Le ragioni dipendono da come stai creando vostro vaso. Se si sta facendo utilizzando NetBeans, controllare le impostazioni. Probabilmente include solo i file * .class? Lo stesso è su Ant. Controllare etichetta.

Il getFile () restituisce la parte di percorso del file del URL restituito da getResource () Quindi, se nel vaso, è necessario leggere il vaso per gett lui file. Se la sua sul filesystem si può leggere utilizzando FileInputStream.

Se si desidera ottenere l'InputStream e non si crea dove si ottiene dall'uso getResourceAsStream ()

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top